如何使用hibernate

时间:2015-07-22 13:18:01

标签: java mysql hibernate dao

我在使用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;
}

任何人都可以帮我确定如何解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:3)

根据提供的代码段,@JoinColumn的{​​{1}}属性的值为name