使用使用者管理的連線表物件的雙向多對多
@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 物件。
當你想要在連線物件上儲存額外資訊(例如建立關係的日期)時,通常使用此選項。
