我有一个真正的一对一映射。但我想使用延迟加载(按需加载)。
我的班级人员与班级地址有关联。映射看起来像这样..
PERSON
<one-to-one name="address" class="Person" cascade="all-delete-orphan" access="field">
ADDRESS
<class name="Address" table="Address" lazy="true">
<id name="id" column="addressId" type="Int32" access="field">
<generator class="foreign">
<param name="property">person</param>
</generator>
</id>
<one-to-one name="person" class="Address" constrained="true" access="field" />
有人看到这个有问题吗?如何为地址启用代理/延迟加载?
由于
答案 0 :(得分:3)
关于http://ayende.com/Blog/archive/2007/05/10/NHibernate-onetoone.aspx
主题的讨论至关重要的一句话:“换句话说,一对一不能延迟加载,这也是建议使用两个多对一的原因之一。”
另见https://www.hibernate.org/162.html和NHibernate: how to enable lazy loading on one-to-one mapping