如何处理hibernate生成的唯一字段?

时间:2017-02-14 00:54:15

标签: java mysql hibernate many-to-many

说得对,我正在尝试为 hibernate 关系构建以下逻辑。

  

资源有许多读取组。

     

资源有很多写组。

     

两个组都是Groups类。

到目前为止我做了什么:

ResourcePage.class

public class ResourcePage {
  /*
  useless code
  */
  private Set read;
  private Set write;
  @OneToMany(cascade = CascadeType.ALL,
    fetch = FetchType.EAGER,
    targetEntity = Groups.class)
  @JoinTable(name = "resourcepage_read_permissions")
  public Set getRead() {
    return read;
  }

  @OneToMany(cascade = CascadeType.ALL,
    fetch = FetchType.EAGER,
    targetEntity = Groups.class)
  @JoinTable(name = "resourcepage_write_permissions")
  public Set getWrite() {
    return write;
  }
  /*
  useless code
  */    
}

表格按预期创建。

enter image description here

然而,hibernate正在生成唯一约束 id of group ,这给了我一个大问题,因为有时两个不同的资源可以是与读取组相同的组。

enter image description here

你们怎么处理它? 如何让休眠不生成这个独特的约束?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您需要使用@ManyToMany代替@OneToMany