我相信这个链接有足够清晰的解释
http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/collections.html
what is the lifecycle of the elements
?
情况1:
以两个实体Customer
和为例Order
。1 个客户可以有多个订单。在这种情况下Customer
,就像订单元素的所有者一样。
在 JPA 世界Customer
实体类中维护订单元素的集合,例如
@OneToMany(mappedBy = "customer", orphanRemoval = true)
private Collection<Order> orders;
在上面的代码中,您看到Customer
类维护了一个包含订单集合的集合对象。在此客户中充当订单的所有者。为什么 ?因为orphanRemoval = true
, 所以 收藏品life cycle
由 维护Customer
。
当一个Customer
实体对象被删除时,它会删除与客户实例关联的所有订单。
为了简单起见,这种类型的关系Composition
在“UML”世界中被称为。即没有父母,孩子就不能存在,即孩子lifecycle
由父母抚养。
案例2
在这个集合中可能是对另一个具有自己生命周期的实体的引用。请看一下http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/collections.html