「org.hibernate.LazyInitializationException:無法初始化代理 - 沒有會話」給了我很多的痛苦。一些舊的stackoverflow線程有關於這個特定問題的討論。我跟着這些解決了這個問題。lazy =「false」唯一解決方案爲「org.hibernate.LazyInitializationException:無法初始化代理 - 沒有會話」
在我的hibernate映射xml中,我添加了lazy="false"
到類標記和標記集合,如集合和列表。
<class name="User" table="users" lazy="false">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="type" column="type"/>
<many-to-one name="parent" column="parent"/>
<property name="loginName" column="login_name" unique="true" not-null="true" index="idx_users_login_name" length="50"/>
<property name="name" column="name" length="50"/>
<property name="password" column="password"/>
<property name="email" column="email" length="50"/>
<property name="locale" column="locale" length="20"/>
<property name="locked" column="locked"/>
<many-to-one name="metadata" column="metadata_id"/>
<set name="userSpaceRoles" cascade="all" inverse="true" lazy="false">
<key column="user_id"/>
<one-to-many class="UserSpaceRole"/>
</set>
</class>
<class name="UserSpaceRole" table="user_space_roles" lazy="false">
<id name="id" column="id">
<generator class="native"/>
</id>
<many-to-one name="user" column="user_id"/>
<many-to-one name="space" column="space_id"/>
<property name="roleKey" column="role_key" not-null="true"/>
</class>
因此,問題得到解決。
- 是
lazy="flase"
唯一的解決方案? - 如果我設置
lazy="false"
會發生什麼? - 我應該在類標記中指定
lazy="false"
嗎?
有關更多信息,我正在使用JBoss 4.2.0.GA,並且每當我重新啓動服務器時都面臨此問題。
感謝和抱歉,遲到的回覆。你可以向我推薦任何網站/教程,我可以從哪裏學習一個用wicket-hibernate-spring設計web應用程序的好架構?再次謝謝你。 – 2011-05-28 07:50:47