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
表的复合主键。