hibernate文档提到了集合元素的生命周期,请你帮助我理解元素的生命周期以及如何在休眠中维护它?
这是链接:
http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/collections.html#collections-elements
集合中的对象可能会使用“value”语义处理(其中) 生命周期完全取决于集合所有者),或者它可能是一个 引用具有自己生命周期的另一个实体。在后者 在这种情况下,只有两个对象之间的“链接”被认为是a 该集合持有的国家。
答案 0 :(得分:1)
我相信这个链接有足够明确的解释
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
实体对象后,会删除与客户实例关联的所有订单。
为了简单起见,这种关系在“UML”世界中被称为Composition
。即,没有父母就不能存在子女,即父母维持子lifecycle
。
案例2
在此集合中,可能是对具有自己生命周期的另一个实体的引用。请查看http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/collections.html