如何使用Java Persistence API实现聚合和分解?什么是最佳实践?
提前致谢, 丹尼尔
答案 0 :(得分:0)
我找到了orphanRemoval
和@OneToMany
关系的@OneToOne
属性:
当从关系中删除一对一或一对多关系中的目标实体时,通常需要将删除操作级联到目标实体。此类目标实体被视为“孤儿”,orphanRemoval属性可用于指定应删除孤立实体。例如,如果订单包含多个订单项,并且其中一个订单项已从订单中删除,则已删除的订单项会被视为孤儿。如果将orphanRemoval设置为true,则在从订单中删除订单项时,系统商品实体将被删除。
用法:
@OneToMany(mappedBy="customer", orphanRemoval=true)
public List<Order> orders;
答案 1 :(得分:0)
在JPA中处理聚合时,有两件事情应该非常明确。
Java世界中的关系受域需求的支配。例如,用户可能有许多地址,因此我们保持在用户中进行地址聚合而不保持反向关系。对于组合,我们需要处理级联行为。
更详细的处理可以参见here