首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

failed to lazily initialize a collection of role有关问题的解决

2012-02-23 
failed to lazily initialize a collection of role问题的解决上网查了一下,说把lazyfalse即可,我改了,

failed to lazily initialize a collection of role问题的解决
上网查了一下,说把lazy="false"即可,我改了,确实通过了
但是这样子必然会带来性能问题啊

因为lazy="false"的时候,load一个对象的时候,同时也把他的那些关联对象也load上来.


Exception in thread "main" org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.huawei.etl.nx.db.entity.Etl3plan.etl3tasks - no session or session was closed
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:191)
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:183)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:48)
at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:134)
at com.huawei.etl.nx.operate.UpgradePlan.main(UpgradePlan.java:357)
其实hibernate在我重新load关联对象的时候,再次打开session不就OK吗?

请大虾指教

[解决办法]
其实还有一个方法,就是你在load出来对象的时候,调用:hibernate.intialize(object).以后你再调用这个对象的关联对象时,就不会有exception了。

热点排行