通过休眠和注释自引用许多东西 [英] self referencing manytomany with hibernate and annotations
本文介绍了通过休眠和注释自引用许多东西的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
@ManyToMany(mappedBy =以下内容,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)
@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>();
My brain is starting to hurt thinking about this, is it as simple as :
@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>();
解决方案
Something like:
@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>();
这篇关于通过休眠和注释自引用许多东西的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文