具有三个实体的Hibernate约束

时间:2014-07-10 12:08:34

标签: java spring hibernate

假设我有实体A,B和C.我想在这三个表之间创建一个约束。我怎么能做到这一点?我一直在寻找,人们通常做的是创建一个只有A和B的id的表,然后在他的类上配置像这样的ManyToMany关系。

      @ManyToMany(cascade = {CascadeType.MERGE})
@JoinTable(name = "A_B",
        joinColumns = @JoinColumn(name = "A_id"),
        inverseJoinColumns = @JoinColumn(name = "B_id"),
        uniqueConstraints = @UniqueConstraint(columnNames = {"A_id", "B_id"}))

但我怎么能在三个班级做到这一点?。

问候。

1 个答案:

答案 0 :(得分:1)

@MapKeyJoinColumn:指定到作为地图关键字的实体的映射。映射键连接列位于用于表示映射的目标实体的集合表,连接表或表中。如果未指定MapKeyJoinColumn批注,则假定使用单个连接列,并应用默认值。

看看这个: - @MapKeyJoinColumn in API doc& Hibernate: How to Join three 3 tables in one join table in Annotation