什么是Hibernate中的集合元素生命周期

时间:2013-11-03 06:23:37

标签: java hibernate

hibernate文档提到了集合元素的生命周期,请你帮助我理解元素的生命周期以及如何在休眠中维护它?

这是链接:

http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/collections.html#collections-elements

  

集合中的对象可能会使用“value”语义处理(其中)   生命周期完全取决于集合所有者),或者它可能是一个   引用具有自己生命周期的另一个实体。在后者   在这种情况下,只有两个对象之间的“链接”被认为是a   该集合持有的国家。

1 个答案:

答案 0 :(得分:1)

我相信这个链接有足够明确的解释

http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/collections.html

what is the lifecycle of the elements

案例1:

以两个实体CustomerOrder为例。 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

相关问题