码迷,mamicode.com
首页 > 其他好文 > 详细

failed to lazily initialize a collection of role

时间:2015-04-10 23:44:33      阅读:191      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!