hibernete奇怪问题?

SANBENREN 2009-04-05 05:24:39
老是出现
failed to lazily initialize a collection of role: com.discount.vo.GoodBasicInfo.dtTempinfo, no session or session was closed
说我lazy失败,session被关闭!可是我明明查了呀,而且还保存到session里面了?
我的HQL语句是 list=this.getSession().createQuery("from GoodBasicInfo g where g.cities=? order by g.good_last_id desc")
.setParameter(0, cities).setFirstResult(0).setMaxResults(8).list()

通过list取值也可以取到,不知道什么原因?
大家帮帮忙啊!
...全文
1667 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lionback 2010-07-06
我也出现了这样的问题
回复
dongdong98 2010-04-21
wwwe
回复
向万里 2010-01-29
看一看,遇到同样的问题。
回复
qq707472 2009-04-05
lazy = false 或者在session 关闭之前用一次那个对象·
回复
KK3K2005 2009-04-05
去查询
懒加载 和 托管对象
回复
kingofvc 2009-04-05
http://www.99inf.net/SoftwareDev/Java/52025.htm

其实你话一秒钟时间去google的话 网络上一堆
回复
SANBENREN 2009-04-05
后一种怎么操作呢 ? 能不能再详细点儿 !
回复
kingofvc 2009-04-05
hibernate 有个lazy属性, 默认是true 也就是说 一个对象A关联的另外一些集合对象B 在A被查询出来的时候 不会主动去数据库查询B对象的集合。
解决方法有两种 一种是 hibernate配置文件中 lazy改为false 但是这样 每次都会把关联的对象涉及的table都有查询
另外一种是 使用Hibernate提供的until方法来取出对象后马上进行关联对象的初始化操作 方法名字叫做initialize
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2009-04-05 05:24
社区公告
暂无公告