技术堆栈:
JPA 2.2
问题:
如何确定@ManyToMany
关联中的父母和子女?
考虑以下用例:
我有一个User entity and Product entity.
用户可以订阅多剂产品,并且许多用户可以订阅产品。
我的问题是:
1)如何确定哪个是父实体和子实体?换句话说,谁将携带mappedBy
属性?
2)由于此决定,我们将对实体类进行建模
3)对于@OneToMany
而言,它是包含mappedBy
属性的一侧,因此,许多方面控制着关联
答案 0 :(得分:0)
没有正确的答案,这取决于您的系统认为最佳。仅当将条目放在拥有方时,该关系才会保留,因此您必须问自己,是更常见的是更改用户的产品列表还是产品的用户列表。如果User
拥有该关系,则可以通过在用户实例中添加或删除产品来更新该关系,但是如果您有要保留的产品的用户列表,则需要遍历该列表并更改每个列表用户。