Spring.NET+NHbernate 延迟加载错误'no session or session closed'

疯子 2013-09-06 04:52:36
实体配置
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" >
<class name="WUEB.Model.SYS_ROLE, Model" table="SYS_ROLE" >
<id name="ROLE_ID" type="String" column="ROLE_ID" >
<generator class="assigned" />
</id>
<version name="VERSION" column="VERSION" type="Int32" unsaved-value="1"/>
<property name="SYSTYPE" column="SYSTYPE" type="String" />
<property name="CO_ID" column="CO_ID" type="String" />
<property name="ROLE_NAME" column="ROLE_NAME" type="String" />
<property name="STATE" column="`STATE`" type="String" />
<property name="CHKWORD" column="CHKWORD" type="String" />
<property name="REMARK" column="REMARK" type="String" />
<property name="DELETED" column="DELETED" type="String" />
<property name="MODITIME" column="MODITIME" type="DateTime" />
<bag name="SYSROLEPURs" cascade="all" lazy="true" inverse="true" table="SYS_ROLE_PUR" >
<key column="ROLE_ID" />
<one-to-many class="WUEB.Model.SYS_ROLE_PUR, Model" />
</bag>
</class>
</hibernate-mapping>

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" >
<class name="WUEB.Model.SYS_ROLE_PUR, Model" table="SYS_ROLE_PUR" >
<composite-id access="field">
<key-property name="ROLE_ID" column="ROLE_ID" type="String" />
<key-property name="WINDOW_NAME" column="WINDOW_NAME" type="String" />
</composite-id>
<version name="VERSION" column="VERSION" type="Int32" />
<property name="PUR" column="PUR" type="String" />
<property name="DELETED" column="DELETED" type="String" />
<property name="MODITIME" column="MODITIME" type="DateTime" />

<many-to-one name="SYSROLE" class="WUEB.Model.SYS_ROLE, Model" insert="false" update="false" column="ROLE_ID" />
</class>
</hibernate-mapping>


web.config 配置
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<!--很重要-->
<add name="OpenSessionInView" type="Spring.Data.NHibernate.Support.OpenSessionInViewModule, Spring.Data.NHibernate21"/>
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web" />
</httpModules>


延迟加载时报
Initializing[WUEB.Model.SYS_ROLE#admin]-failed to lazily initialize a collection of role: WUEB.Model.SYS_ROLE.SYSROLEPURs, no session or session was closed

如果将lazy="true"设为false时就可以正常加载在关联表
...全文
5547 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧