NHibernate:没有主键的多对一

时间:2018-04-06 09:32:22

标签: nhibernate nhibernate-mapping

给出两个表:

表A,列ID(PK)和名称

表B,列ID(PK)和名称(A)

我想将B作为A的属性,通过Name关联,这不是主键。

如果可能的话,我如何在A.hbm.xml中映射(多对一)?

谢谢。

1 个答案:

答案 0 :(得分:0)

我们可以使用神奇的 t a 设置:

在父方(A类),集合映射:

property-ref

和子(B类)可以引用父类似的方式:

<bag name="Children" lazy="true" inverse="true" 
     batch-size="25" cascade="all-delete-orphan" >
  <key column="Name" property-ref="Name" />
  <one-to-many class="B"/>
</bag>

同时检查:https://stackoverflow.com/a/31300425

doc:5.1.11. many-to-one

的链接
  

...    <many-to-one not-null="true" name="Parent" class="A" property-ref="Name" column="Name" /> (可选)相关属性的名称   加入此外键的类。如果没有指定,   使用关联类的主键。