第 21 章 示例:父子关系(Parent Child Relationships)

目录

  • 21.1. 关于collections需要注意的一点
  • 21.2. 双向的一对多关系(Bidirectional one-to-many)
  • 21.3. 级联生命周期(Cascading lifecycle)
  • 21.4. 级联与未保存值(Cascades and unsaved-value
  • 21.5. 结论

刚刚接触Hibernate的人大多是从父子关系(parent / child type relationship)的建模入手的。父子关系的建模有两种方法。由于种种原因,最方便的方法是把ParentChild都建模成实体类,并创建一个从Parent指向Child的<one-to-many>关联,对新手来说尤其如此。还有一种方法,就是将Child声明为一个&lt;composite-element&gt;(组合元素)。 事实上在Hibernate中one to many关联的默认语义远没有composite element贴近parent / child关系的通常语义。下面我们会阐述如何使用带有级联的双向一对多关联(bidirectional one to many association with cascades)去建立有效、优美的parent / child关系。这一点也不难!