使用hibernate和注释自我引用manytomany

Nim*_*sky 5 java many-to-many hibernate

我的大脑开始思考这个问题,它是如此简单:

@ManyToMany(mappedBy = "following", cascade = CascadeType.ALL)
private Set<User> followers = new HashSet<User>();

@ManyToMany(mappedBy = "followers", cascade = CascadeType.ALL)
private Set<User> following = new HashSet<User>();
Run Code Online (Sandbox Code Playgroud)

jen*_*ent 9

就像是:

@ManyToMany(mappedBy = "following", cascade = CascadeType.ALL)
@JoinTable(name="UserRel", 
                joinColumns={@JoinColumn(name="ParentId")}, 
                inverseJoinColumns={@JoinColumn(name="UserId")})
private Set<User> followers = new HashSet<User>();

@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name="UserRel", 
                joinColumns={@JoinColumn(name="UserId")}, 
                inverseJoinColumns={@JoinColumn(name="ParentId")})
private Set<User> following = new HashSet<User>();
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,但我只是从一个声明中删除了 mappingBy 并且它有效。你不能在两边都映射过,所以你的考试不会;不工作 (4认同)
  • 好的,所以它按照约定选择表和列名......甜蜜 (2认同)