1
我想映射一個自引用表與NHibernate 3.2.0.4000。但是,每當我獲得DomainObject
的實例時,都會急切地加載後續版本。我寧願不必爲我的表添加額外的列,但這是一個選項。懶加載一個自引用表
我可以讓NHiberante在不保持雙方關係的情況下不急於加載所有後續版本嗎?
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping assembly="NHibernateHierarchyTest" namespace="NHibernateHierarchyTest" xmlns="urn:nhibernate-mapping-2.2">
<class name="DomainObject" table="DOMAIN_OBJECT" lazy="true" >
<id name="DomainObjectId" column="DOMAIN_OBJECT_ID">
<generator class="identity" />
</id>
<property name="Property">
<column name="PROPERTY" />
</property>
<many-to-one name="PreviousVersion" class="DomainObject" >
<column name="PREVIOUS_VERSION_DOMAIN_OBJECT_ID" />
</many-to-one>
<!--<many-to-one name="SubsequentVersion" class="DomainObject">
<column name="SUBSEQUENT_VERSION_DOMAIN_OBJECT_ID" />
</many-to-one>-->
<one-to-one name="SubsequentVersion" class="DomainObject" property-ref="PreviousVersion" />
</class>
</hibernate-mapping>
感謝您的回覆。我是DRY主體的忠實粉絲,但是額外的專欄並不那麼糟糕,因爲NHibernate熱切地加載了幾十個和幾十個對象,每個對象都有自己的一對一對象。這是很多加載。這一定是最好的答案,因爲這是唯一正確的答案,儘管我希望它不是。 –