Hibernate加载数据失败failed to lazily initialize a collection of role
本文由发表于6年前 | J2EE | 暂无评论 |  被围观 20,825 views+

在测试获取数据库中的数据或者在页面获取时,有时会遇到这样的错误提示:

failed to lazily initialize a collection of role: com.exam.entity.Question.questionAnswer, no session or session was closed

其中com.exam.entity.Question.questionAnswer为错误的相关类名,根据实际情况而定。

从错误的字面意思可以发现是延迟加载初始化时遇到了问题。

从错误的提示相关类com.exam.entity.Question.questionAnswer不难看出是Question中的questionAnswer加载失败了。

找到相关的Hibernate映射文件可以发现:

Question映射文件中的questionAnswer
<set name="questionAnswer" inverse="true" cascade="delete">
	<key column="question_no"/>
	<one-to-many class="QuestionAnswer"/>
</set>

该映射并没有设置lazy,所以这里是使用了默认的lazy=”true”,所以导致在页面获取时,因为session已经关闭,所以获取不到questionAnswer的数据。

所以为了解决这个问题,可以在set的lazy设置为false:
为set设置lazy="false"
<set name="questionAnswer" inverse="true" cascade="delete" lazy="false">
	<key column="question_no"/>
	<one-to-many class="QuestionAnswer"/>
</set>
除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:http://www.itzhai.com/hibernate-load-data-failed-failed-to-lazily-initialize-a-collection-of-role.html
关键字: , ,
arthinking Java技术交流群:280755654,入门群:428693174 more
分享到:
 
2011 5/31
如果您有更好的原创技术博文或者观点,欢迎投稿:admin@itzhai.com,或者关注订阅左侧浮动面板的微信号订阅IT宅itread)发送消息。
文章评论
    没有评论
给我留言

有人回复时邮件通知我
J2EE的相关文章
随机文章 本月热门 热评
1 Git常用命令 2016/4/6
2 可行性研究-数据流图 数据字典 2011/7/1
3 Spring与Struts2整合的两种解决方案 2011/5/23
4 8251A串行通信和8253计数器编程举例 2011/5/5
5 博客文章编辑冲突的解决方法 2013/12/5
6 计算机系统结构实用知识点问答题 2011/11/16
友情推荐 更多
破博客 文官洗碗安天下,武将打怪定乾坤。多么美好的年代,思之令人泪落。
Mr.5's Life 白天是一名程序员,晚上就是个有抱负的探索者
行知-追寻技术之美 关注大数据,分布式系统
我爱编程 编程成长轨迹
Cynthia's Blog 学习笔记 知识总结 思考感悟
 
猜您喜欢
欢迎关注我的公众号 IT宅
关于IT宅 文章归档

IT宅中的文章除了标题注明转载或有特别说明的文章,均为IT宅的技术知识总结,学习笔记或随笔。如果喜欢,请使用文章下面提供的分享组件。转载请注明出处并加入文章的原链接。 感谢大家的支持。

联系我们:admin@itzhai.com

Theme by arthinking. Copyright © 2011-2015 IT宅.com 保留所有权利.