NHibernate:没有主键的多对一

NHibernate:没有主键的多对一,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,给出两个表格: 带有列Id(PK)和列名称的表A 表B列Id(PK)和名称(A) 我希望将B作为a的属性,通过名称关联,而名称不是主键 如果可能的话,我将如何在A.hbm.xml中映射(多对一) 谢谢。我们可以使用神奇的属性ref设置: 在父端(A类),集合映射: <bag name="Children" lazy="true" inverse="true" batch-size="25" cascade="all-delete-orphan" > <key c

给出两个表格:

带有列Id(PK)和列名称的表A

表B列Id(PK)和名称(A)

我希望将B作为a的属性,通过名称关联,而名称不是主键

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


谢谢。

我们可以使用神奇的
属性ref
设置:

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

<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>

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

<many-to-one not-null="true" name="Parent" class="A"
   property-ref="Name" column="Name"  />

同时检查:

指向文档的链接:

。。。
属性ref
:(可选)关联属性的属性名称 类,该类已加入到此外键。如果未指定,则 使用关联类的主键