异常分析:无法初始化这个懒加载的集合
异常详细情况示例:
Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.meijia.domain.user.ManuFacturer.prodModels, no session or session was closed
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:383)
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:375)
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:368)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:111)
at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:186)
at org.directwebremoting.convert.CollectionConverter.convertOutbound(CollectionConverter.java:189)
at org.directwebremoting.impl.DefaultConverterManager.convertOutbound(DefaultConverterManager.java:441)
at org.directwebremoting.convert.BasicObjectConverter.convertOutbound(BasicObjectConverter.java:299)
... 30 more
异常解决办法:在持久化类的配置文件中,在set中加入lazy="false",具体情况如下:
<set name="manuFacturers" inverse="true" lazy="false">
<key>
<column name="u_id" length="32" />
</key>
<one-to-many class="com.meijia.domain.user.ManuFacturer" />
</set>