JPA中的多对多父母和孩子一方

时间:2018-09-20 09:08:58

标签: jpa hibernate-mapping

技术堆栈:

JPA 2.2

问题:

如何确定@ManyToMany关联中的父母和子女?

考虑以下用例:

我有一个User entity and Product entity. 用户可以订阅多剂产品,并且许多用户可以订阅产品。

我的问题是:

1)如何确定哪个是父实体和子实体?换句话说,谁将携带mappedBy属性?

2)由于此决定,我们将对实体类进行建模

3)对于@OneToMany而言,它是包含mappedBy属性的一侧,因此,许多方面控制着关联

1 个答案:

答案 0 :(得分:0)

没有正确的答案,这取决于您的系统认为最佳。仅当将条目放在拥有方时,该关系才会保留,因此您必须问自己,是更常见的是更改用户的产品列表还是产品的用户列表。如果User拥有该关系,则可以通过在用户实例中添加或删除产品来更新该关系,但是如果您有要保留的产品的用户列表,则需要遍历该列表并更改每个列表用户。