2010-12-03 34 views

回答

0

我发现orphanRemoval属性为@OneToMany@OneToOne关系:

当一个对一个或一个一对多关系的目标实体从关系中删除,通常希望将删除操作级联到目标实体。这样的目标实体被认为是“孤儿”,而orphanRemoval属性可以用来指定应该删除孤儿实体。例如,如果订单包含多个订单项,并且其中一个订单项已从订单中删除,则删除的订单项将被视为孤立。如果orphanRemoval设置为true,则当订单项从订单中删除时,订单项实体将被删除。

用法:

@OneToMany(mappedBy="customer", orphanRemoval=true) 
public List<Order> orders; 
0

有两件事情应该是很清楚的,而在JPA处理聚集。

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

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

更详细的处理方法请参见here