JoinTable 註釋示例
在 JPA 中對映多對多關係時,可以使用 @JoinTable
註釋提供用於連線外來鍵的表的配置:
@Entity
public class EntityA {
@Id
@Column(name="id")
private long id;
[...]
@ManyToMany
@JoinTable(name="table_join_A_B",
joinColumns=@JoinColumn(name="id_A"), referencedColumnName="id"
inverseJoinColumns=@JoinColumn(name="id_B", referencedColumnName="id"))
private List<EntityB> entitiesB;
[...]
}
@Entity
public class EntityB {
@Id
@Column(name="id")
private long id;
[...]
}
在這個由 EntityA 組成的例項中,通過 entitiesB
欄位實現了與 EntityB 的多對多關係,我們使用 @JoinTable 註釋來指定連線表的表名是 table_join_A_B
,由列 id_A
和 id_B
,外來鍵分別引用 EntityA 表和 EntityB 表中的列 id
; (id_A,id_B)
將是 table_join_A_B
表的複合主鍵。