hibernate级联删除时出错
org.hibernate.LazyInitializationException: failed to lazily initialize a collection ofrole: com.hampoo.serviceUser.entity.ParametD.SUDep, no session or session wasclosed
?????? atorg.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
?????? at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
?
问题分析:
?????? 1、根据问题提示:failed to lazilyinitialize 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”属性).