hibernate级联删除时出错

现象:

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.hampoo.serviceUser.entity.ParametD.SUDep, no session or session was closed

       at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)

       at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)

 

 

问题分析:

       1、根据问题提示:failed to lazily initialize a collection of role: com.hampoo.serviceUser.entity.ParametD.SUDep, no session or session was closed   可以得出是因为在做某操作时,“懒加载”没有成功----“session”没有打开。

       2、由1得出的结论,则可以想到在hibernate 的配置文件中有“lzay”属性,默认是true (即 一个对象A关联的另外一些集合对象B时, 在A被查询出来的时候不会主动去数据库查询B对象的集合)。

 

解决办法:

      在对应实体类中修改配置文件(增加lzay=”false”属性).

相关推荐