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

[b]我们用的框架是:spring hibernate seam jsf (richFaces facelet )[/b]

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

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" 问题解决 偶了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值