我在使用hibernate选择使用代表多对多的连接表时遇到了一些困难。
我有以下三个表(粗体代表链接/键)
用户{id,用户名,密码}
群组{ ID ,名称,scpid}
加入表=会员{id, groupId ,用户名}
所以我有这样的场景,在我的DAO中,对于用户和组我想分别获得可用的组和可用的成员。
这意味着我需要提供映射但不确定如何执行此操作。到目前为止,为了获得用户的组,我尝试了类似的东西,但它抱怨重复的用户名
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "member", joinColumns = {@JoinColumn(name = "username", nullable = false, updatable = false)}, inverseJoinColumns = {@JoinColumn(name = "username", nullable = false, updatable = false)})
public Set<Group> getGroups()
{
return userGroups;
}
public void setGroups(Set<Group> userGroups)
{
this.userGroups = userGroups;
}
任何人都可以帮我确定如何解决这个问题吗?
由于
答案 0 :(得分:3)
根据提供的代码段,@JoinColumn
的{{1}}属性的值为name
。