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

JPA / How to add a property in a ManyToMany relation

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

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

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

我的问题是: 组中的每个用户都应该有一个 "role"。默认角色是 "member",但用户也可以是 "leader".

"role" 属性 在我的任何 类 中都不存在,应该与用户-组关系 [=46] 的一对 "User PK / Group PK" 相关联=] 由 JPA 创建。

我如何处理 "role" 属性,因为它既不是用户 属性,也不是组 属性,而是用户组 属性? 如何在 JPA 创建的用户组 table 中添加此列?

感谢您的帮助。

最简单的方法是将多对多拆分为两个一对多关系以建立一个新实体:您创建一个包含角色字段、组和用户的 UserRoleInAGroup class。

产生的 2 个一对多关系是:

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

希望对您有所帮助。