JPA /如何在ManyToMany关系中添加属性

时间:2015-11-25 23:02:01

标签: java jpa many-to-many entity

我开始为我的2个实体创建2个类:

  • 用户:用户可能属于多个群组
  • 群组:群组可能会计算多个用户(成员)

这两个实体之间的关系应该是双向

然后,JPA将创建一个名为User-Group的新关系实体。在此表/实体中,我们将一起找到用户PK和组PK。

我的问题是: 组中的每个用户都应具有“角色”。默认角色是“成员”,但用户也可以是“领导者”。

“role”属性在我的任何类中都不存在,并且应该与JPA创建的用户组关系表的“用户PK /组PK”相关联。

如何处理“role”属性,因为它不是User属性既不是Group属性又是User-Group属性? 如何在作为JPA创建的User-Group表中添加此列?

Thanx求助。

1 个答案:

答案 0 :(得分:0)

最简单的方法是将两个一对多关系中的多对多分解为一个新实体:创建一个包含角色字段,组和用户的UserRoleInAGroup类。

由此产生的一对多关系是:

  • 第一名:
    • 每个用户都可以与许多UserRoleInAGroup相关联。
    • 每个UserRoleInAGroup与单个用户
    • 相关
  • 第二名:
    • 每个组都可以与许多UserRoleInAGroup相关联。
    • 每个UserRoleInAGroup与单个组
    • 相关

我希望它有所帮助。