Session.load()这个方法还真是怪!

以前在eclipse3.1下做了个小项目,struts+hibernate,昨天迁到3.2下出了问题,于是用myeclipse又从新做了下,两种架构都是myeclipse导入的,然后在dao包里写了个逻辑处理的类,其中用到Session session的load方法时,原来在3.1下没有问题的代码报错,什么load里面的参数应该是class和Serializable型,可是为什么我原来用的long型可以现在就不行了呢?
/**
* 根据id信息从数据库中找到对应的信息
*
* @SavageGarden
* @param id
* @return
* */
public Cd getCD(long id){
//通过Session从数据库中取得CD信息
Cd cd;
try {
cd = (Cd)session.load(Cd.class,id);
//提交事务
transaction.commit();
} catch (Exception e) {
// TODO 自动生成 catch 块
cd=null;
e.printStackTrace();
}
return cd;
}
就是这句cd = (Cd)session.load(Cd.class,id);报错

然后还有就是在action里的request.setAttribute(),我拿个boolean型的变量做参数它又报错应该为object型
boolean result=dbManager.addCD(cd);
//为request对象设置“addresult”属性
request.setAttribute("addresult",result);
就是这句request.setAttribute("addresult",result);报错
是不是我的配置文件什么地方写错了呢?大家给看下,我的bean和bean.hbm.xml里面的id就是long型的 怎么回事啊,明明在3.1下没有错误的,怎么在3.2下就不行了呢

问:request.setAttribute("addresult",result);
答:在setAttribute里面的值,它要是个Object类型。
普通的int或boolean类型在转相应的对象 类型才可以。

(Cd)session.load(Cd.class,new Long(id));这样就可以了