簡體   English   中英

如何使用它們之間的鏈接表建立多對一關系?

[英]How to make a Many-to-One relationship with a link table in between?

我在獲取正確的hbm.xml以便在鏈接表上映射多對一關系時遇到問題:

  <class name="Car" table="Cars" lazy="true"> 
    <id name="CarKey" type="int">
      <generator class="native" />
    </id>
    [properties]...
    <many-to-one ??? />
  </class>

  <class name="Driver" table="Drivers" lazy="true"> 
    <id name="DriverKey" type="int">
      <generator class="native" />
    </id>
    [properties]...
  </class>

  <class name="CarDriverLink" table="CarDriverLinks" lazy="true"> 
    <id name="CarDriverLinkKey" type="int">
      <generator class="native" />
    </id>
    <property name="CarKey">
      <column name="CarKey" sql-type="int" not-null="true" />
    </property>
    <property name="DriverKey">
      <column name="DriverKey" sql-type="int" not-null="true" />
    </property>
  </class>

想象一下,在此示例中,一輛汽車只能有一個駕駛員,但是一個駕駛員可以有多輛汽車,我將如何在Car映射中添加多對一關系,以允許Car看到哪個駕駛員可以駕駛它, CarDriverLinks表?

因此,對於一對多,多對一,您之間不一定需要交叉引用表。 這將為您帶來多對多的關系。 由於每輛汽車只有一個駕駛員,因此您可以將DriverID添加到Car表和類中。 您的駕駛員仍然可以擁有多輛汽車。 我使用Fluent NHibernate,所以我真的不記得XML映射,而是查看這個可以解釋您所需要的內容的問題。 一對多,多對一-NHibernate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM