Uni- oritation 所屬類別Foo 維護一個Bars 清單。在資料庫中,Bars 將有一個指向 Foo 的外鍵。
<code class="java">@Entity public class Foo { @OneToMany private List<Bar> bars; } @Entity public class Bar { @ManyToOne @JoinColumn(name="fooId") private Foo foo; }</code>
雙向: Foo 和 Bar 都維護彼此的引用。
<code class="java">@Entity public class Foo { @OneToMany(mappedBy="foo") private List<Bar> bars; } @Entity public class Bar { @ManyToOne @JoinColumn(name="fooId") private Foo foo; }</code>
單向: 所屬類 Bar 引用了 Foooo。在資料庫中,Foo 將有一個指向 Bar 的外鍵。
<code class="java">@Entity public class Bar { @ManyToOne @JoinColumn(name="fooId") private Foo foo; } @Entity public class Foo { // No corresponding mapping to Bar }</code>
雙向: Foo 和 Bar 都維護彼此的引用。
<code class="java">@Entity public class Bar { @ManyToOne @JoinColumn(name="fooId") private Foo foo; } @Entity public class Foo { @OneToMany(mappedBy="foo") private List<Bar> bars; }</code>
使用橋接表:建立一個連接表來儲存關係。
<code class="java">@Entity public class Foo { @ManyToMany @JoinTable(name="FOO_BAR", joinColumns = @JoinColumn(name="fooId"), inverseJoinColumns = @JoinColumn(name="barId")) private List<Bar> bars; } @Entity public class Bar { @ManyToMany @JoinTable(name="FOO_BAR", joinColumns = @JoinColumn(name="barId"), inverseJoinColumns = @JoinColumn(name="fooId")) private List<Foo> foos; }</code>
以上是如何利用 Hibernate 和 Spring 註解來建立和管理實體之間的一對多、多對一和多對多關係?的詳細內容。更多資訊請關注PHP中文網其他相關文章!