ssh框架错误:org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role。

在做ssh项目练习的时候出现问题:

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role

原因在于hibernate的懒加载出现的问题。
在多方中的一方的配置没有指定加载方式,而且一方中的多方是懒加载,因此在获取一方的时候一方是获取到了,但是再获取多方的时候session已经关闭了,这时候会获取不到多方信息,因此报错。 
解决办法:
将一方中的多方(one-to-many)的加载方式改为立刻加载,而多方中的一方(many-to-one)改为懒加载即可。
即在一对多的一方加上 lazy="false"(one-to-many)


posted @ 2017-12-10 20:16  做个读书人  阅读(2365)  评论(0编辑  收藏  举报