使用使用者管理的連線表物件的雙向多對多
@Entity
@Table(name="FOO")
public class Foo {
private UUID fooId;
@OneToMany(mappedBy = "bar")
private List<FooBar> bars;
}
@Entity
@Table(name="BAR")
public class Bar {
private UUID barId;
@OneToMany(mappedBy = "foo")
private List<FooBar> foos;
}
@Entity
@Table(name="FOO_BAR")
public class FooBar {
private UUID fooBarId;
@ManyToOne
@JoinColumn(name = "fooId")
private Foo foo;
@ManyToOne
@JoinColumn(name = "barId")
private Bar bar;
//You can store other objects/fields on this table here.
}
使用使用者管理的中間連線表指定許多 Foo
物件與許多 Bar
物件之間的雙向關係。
Foo
物件作為行儲存在名為 FOO
的表中。Bar
物件作為行儲存在名為 BAR
的表中。Foo
和 Bar
物件之間的關係儲存在名為 FOO_BAR
的表中。作為應用程式的一部分,有一個 FooBar
物件。
當你想要在連線物件上儲存額外資訊(例如建立關係的日期)時,通常使用此選項。