Uni- arah: Kelas pemilik, Foo, mengekalkan senarai Bar. Dalam pangkalan data, Bar akan mempunyai kunci asing kepada 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>
Dwiarah: Kedua-dua Foo dan Bar mengekalkan rujukan antara satu sama lain.
<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>
Sehala: Kelas pemilik, Bar, merujuk kepada Foo . Dalam pangkalan data, Foo akan mempunyai kunci asing untuk 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>
Dwiarah: Kedua-dua Foo dan Bar mengekalkan rujukan antara satu sama lain.
<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>
Menggunakan jadual jambatan: Mencipta jadual gabungan untuk menyimpan perhubungan.
<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>
Atas ialah kandungan terperinci Bagaimanakah saya boleh memanfaatkan anotasi Hibernate dan Spring untuk mewujudkan dan mengurus perhubungan satu-ke-banyak, banyak-ke-satu dan banyak-ke-banyak antara entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!