`
healthandbeauty
  • 浏览: 168678 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

强制加载(Hibernate.initialize(Object proxy) )

阅读更多
我们用的框架是:spring hibernate seam jsf (richFaces facelet )

当页面上的父类里面有子类集合时会发生懒加载异常。例如:

hbm文件:

   <set name="familyMembers" cascade="all" inverse="false"  fetch="select" lazy="true">
   	<key column="APPOINTID_"></key>
   	<one-to-many class="FamilySocietymembers"/>
   </set>


public class AppointCadreMove extends PK{

   	/**
	 * 家庭成员及重要社会关系
	 */
	private Set<FamilySocietymembers> familyMembers;
}


当在点击AppointCadreMove 列表中的某一条书籍时就发生隐形懒加载异常,进入到form页面后点击FamilySocietymembers的相关操作就会发生隐形的懒加载异常。解决办法当在点击列表某一条记入的时候出发一个acitonListener 从数据库从新查一遍在查询的过程中利用hibernate的 强制加载(Hibernate.initialize(Object proxy) )来处理
代码如下:
AppointCadreMove cadreMovePs = cadreMoveDao.getEntityById(id);
Hibernate.initialize(cadreMovePs.getFamilyMembers());
Hibernate.initialize(cadreMovePs.getApointRemoveReason());
这样就相当于把全局的lazy=“true” 修改为lazy="false" 问题解决 偶了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics