第 21 章 示例:父子关系(Parent Child Relationships)
目录
- 21.1. 关于collections需要注意的一点
- 21.2. 双向的一对多关系(Bidirectional one-to-many)
- 21.3. 级联生命周期(Cascading lifecycle)
- 21.4. 级联与
未保存值
(Cascades andunsaved-value
) - 21.5. 结论
刚刚接触Hibernate的人大多是从父子关系(parent / child type relationship)的建模入手的。父子关系的建模有两种方法。由于种种原因,最方便的方法是把Parent
和Child
都建模成实体类,并创建一个从Parent
指向Child
的<one-to-many>关联,对新手来说尤其如此。还有一种方法,就是将Child
声明为一个<composite-element>
(组合元素)。 事实上在Hibernate中one to many关联的默认语义远没有composite element贴近parent / child关系的通常语义。下面我们会阐述如何使用带有级联的双向一对多关联(bidirectional one to many association with cascades)去建立有效、优美的parent / child关系。这一点也不难!