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_Aid_B,外來鍵分別引用 EntityA 表和 EntityB 表中的列 id; (id_A,id_B) 將是 table_join_A_B 表的複合主鍵。