0

如何使用 Java Persistence API 实现聚合和分解?最佳实践是什么?

在此先感谢,丹尼尔

4

2 回答 2

0

我找到了和关系的orphanRemoval属性:@OneToMany@OneToOne

当一对一或一对多关系中的目标实体从关系中删除时,通常希望将删除操作级联到目标实体。此类目标实体被视为“孤儿”,并且 orphanRemoval 属性可用于指定应删除的孤儿实体。例如,如果一个订单有许多订单项,并且其中一个订单项已从订单中删除,则删除的订单项将被视为孤立订单项。如果 orphanRemoval 设置为 true,则在从订单中删除行项目时将删除行项目实体。

用法:

@OneToMany(mappedBy="customer", orphanRemoval=true)
public List<Order> orders;
于 2010-12-03T10:26:14.770 回答
0

在 JPA 中处理聚合时,有两件事应该非常清楚。

  1. 关系世界中的关系。
  2. 对象世界中所需的关系。

Java 世界中的关系由领域需求决定。例如,一个用户可能有很多地址,所以我们在用户中保持地址的聚合,而不是保持反向关系。对于组合,我们需要处理级联行为。

更详细的处理可以在这里看到

于 2010-12-03T12:58:54.443 回答