第一种:更改lazy属性为:false
第二种:加
opensessioninviewfilter
org.springframework.orm.hibernate3.support.opensessioninviewfilter
flushmode
auto
opensessioninviewfilter
/*
以上两种方法都有点问题。
第三种是自己写代码,手动加载
代码如下:
public class lazydaoimpl extends hibernatedaosupport implements lazydao {
/* (non-javadoc)
* @see com.chinarck.dao.lazydao#loadcontractservice(java.io.serializable)
*/
@override
public object loadcontractservice(serializable id) {
final int idd=(integer) id;
// entercontract e= gethibernatetemplate().get(entercontract.class, id);
// gethibernatetemplate().initialize(e.getservice());
entercontract e=gethibernatetemplate().execute(new hibernatecallback(){
public object doinhibernate(session session)throws hibernateexception,sqlexception{
//system.out.println(idd);
entercontract ee=(entercontract) session.get(entercontract.class,idd);
//system.out.println(ee.getconid());
hibernate.initialize(ee);
ee.getservice();
//system.out.print(ee.getservice().size());
return ee;
}
});
return e;
}
}
注意:一定要用get方法。load也不行。
,
