您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Hibernate+Spring数据延迟加载问题解决方案

2026/2/3 8:14:40发布24次查看
第一种:更改lazy属性为:false 第二种:加 lt;filtergt; lt;filter-namegt;opensessioninviewfilterlt;/filter-namegt;
第一种:更改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也不行。

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product