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