2

hibernate 文档提到了集合元素的生命周期,你能帮我理解元素的生命周期是什么以及它是如何在 hibernate 中维护的吗?

这是链接:

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

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

4

1 回答 1

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实体对象被删除时,它会删除与客户实例关联的所有订单。

为了简单起见,这种类型的关系Composition在“UML”世界中被称为。即没有父母,孩子就不能存在,即孩子lifecycle由父母抚养。

案例2

在这个集合中可能是对另一个具有自己生命周期的实体的引用。请看一下http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/collections.html

于 2013-11-03T07:04:53.737 回答