在做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)
时间: 2024-10-13 18:18:22