Hibernate文档中提到了集合元素的生命周期,能否请您帮助我理解什么是元素的生命周期以及如何在Hibernate中对其进行维护?
这是链接:
http://docs.jboss.org/hibernate/orm/3.3/reference/zh-CN/html/collections.html#collections-elements
集合中的对象可能使用“值”语义处理(其生命周期完全取决于集合所有者),或者它可能是对具有其生命周期的另一个实体的引用。在后一种情况下,仅将两个对象之间的“链接”视为集合所拥有的状态。
我相信这个连结有足够清楚的解释
http://docs.jboss.org/hibernate/core/3.6/reference/zh-CN/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
由父母抚养。
情况二
在这个集合中可能是对具有其自身生命周期的另一个实体的引用。请查看http://docs.jboss.org/hibernate/core/3.6/reference/zh-CN/html/collections.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句