唉~~!堂堂的CSDN竟然这点问题都解决不了!
解决方案 »
- eclipse容易死
- 连接查询两张表方法怎么写呀?
- 帮忙看看这段错哪里了
- 我用MyEclipse 6.0.1发布程序总会出现xerces-2.6.2.jar,怎么不发布这个文件?
- 从事JAVA WEB开发要学JMS吗,能介绍下JMS的学习资料吗
- spring mvc一个小例子,验证跳转后的错误!
- 怎么解决java.sql.SQLException: ORA-01000: maximum open cursors exceeded
- 一个简单问题,关于变量存储在哪?
- jb2006+weblogic8.1的开发配置发布问题
- jsp测试ejb...
- 关于struts
- weblogic Execute Threads 不断增加
2种解决办法:
1.取消延迟加载
2.在延迟加载后在关闭session.还有..songergjl
等 级:
发表于:2007-12-19 13:31:281楼 得分:0
唉~~!堂堂的CSDN竟然这点问题都解决不了!
看了很反感,本来不想回贴的.做人要厚道!!
试下吧
session.beginTransaction();
Query query=session.createQuery(str);
list=query.list();
Iterator iterator=list.iterator();
while(iterator.hasNext()){
Obj_consignBill bill=(Obj_consignBill)iterator.next();
if(!Hibernate.isInitialized(bill.getBillID())){
session.refresh(bill);
Hibernate.initialize(bill.getBillID());
}
}
session.getTransaction().commit();其中bill.getBillID就是set型的,以上这个方法是当lazy=true的时候用来获得所关联数据的方法
1、设置lazy = false
2、如果你既想在session关闭后又想使用延迟加载,就使用hibernate.initialize(实例对象);