首页 > 其他 > 详细

failed to lazily initialize a collection of role

时间:2015-04-10 23:42:02      阅读:320      评论:0      收藏:0      [点我收藏+]

在springmvc hibernate的映射文件中如图设置多对多关联,为了显示查询的的列表,打印json数据,我们刚开始是这样设置如下的设置文件

技术分享

然后进行查询操作

结果报 failed to lazily initialize a collection of role错误

 技术分享

假如这样设置

 

技术分享

结果就是这样的

技术分享

正常打印json数据

为什么会这样?

首先,lazy是延时的意思,如果lazy=true,那么就是说数据库中关联子表的信息在hibernate容器启动的时候不会加载,而是在你真正的访问到字表非标识字段的时候,才会去加载。
反之,如果lazy=false的话,就是说,子表的信息会同主表信息同时加载。
一般用只有完全用到子表信息的时候,才会lazy=false

  Hibernate延时加载包括延迟初始化错误,这是运用Hibernate开发项目时最常见的错误。如果对一个类或者集合配置了延迟检索策略,那么必须当代理类实例或代理集合处于持久化状态(即处于Session范围内)时,才能初始化它。如果在游离状态时才初始化它,就会产生延迟初始化错误。

 

failed to lazily initialize a collection of role

原文:http://www.cnblogs.com/zhou-789profession/p/4415896.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!