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”属性).