使用NHibernate进行项目应用一周。单表的增,删,改没有问题。

一对一在NHibernate中有两种设置,一种A表,B表使用相同的主键。第二种A表,B表中使用Aid做外键。现使用第二种的设置:

A.hbm.xml:

<one-to-one name="TheB" class="classB" property-ref="TheA" outer-join="false" cascade="delete" />

B.hbm.xml:

<many-to-one name="TheA" column="Aid" class="classA" unique="true" />

在读A时,TheB会随后读出。试了网上的几种延时加载的配置,没有实现。

B时,TheA会延时加载。在使用TheA.id时,不会引发加载。

一对多:

A

    <bag name="TheBs" table="B" lazy="true" inverse="true" cascade="all">

      <key column="AId"/>

      <one-to-many class="ClassB"/>

    </bag>

B

    <many-to-one name="TheA" column="AId" class="ClassA" />

TheBs,TheA都可以延时加载。

相关文章:

  • 2021-07-26
  • 2021-05-27
  • 2021-09-05
猜你喜欢
  • 2022-12-23
  • 2021-09-10
  • 2021-11-04
  • 2021-08-21
  • 2022-12-23
  • 2021-08-26
  • 2022-12-23
相关资源
相似解决方案