Java 使用Hibernate和注释进行多对多自引用

Java 使用Hibernate和注释进行多对多自引用,java,hibernate,many-to-many,Java,Hibernate,Many To Many,想到这一点,我的大脑开始痛了,是不是很简单: @ManyToMany(mappedBy = "following", cascade = CascadeType.ALL) private Set<User> followers = new HashSet<User>(); @ManyToMany(mappedBy = "followers", cascade = CascadeType.ALL) private Set<User> following = n

想到这一点,我的大脑开始痛了,是不是很简单:

@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>();
@ManyToMany(mappedBy=“following”,cascade=CascadeType.ALL)
private Set followers=new HashSet();
@ManyToMany(mappedBy=“followers”,cascade=CascadeType.ALL)
private Set following=new HashSet();
类似于:

@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>();
@ManyToMany(mappedBy=“following”,cascade=CascadeType.ALL)
@JoinTable(name=“UserRel”,
joinColumns={@JoinColumn(name=“ParentId”)},
inverseJoinColumns={@JoinColumn(name=“UserId”)}
private Set followers=new HashSet();
@多个(级联=级联类型.ALL)
@JoinTable(name=“UserRel”,
joinColumns={@JoinColumn(name=“UserId”)},
inverseJoinColumns={@JoinColumn(name=“ParentId”)}
private Set following=new HashSet();

@jenson-button-event我必须指定链接器表吗?我能让hibernate选择吗?你不必指定,但它的建议-基于很少你不需要中间的其他列-但是,嘿,这里是如何做的,确保你指定了表和列@jenson-button-event,并且你不需要在两侧都映射,但是我刚刚从一个声明中删除了mappedBy,它就可以工作了。你不能两边都有地图,这样你的考试就不会有地图了;t workik,所以它的选择表和列名按惯例…很好