标签:
在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