将遗留Hibernate应用程序迁移到OpenJPA和EJB 3.0(一) - 编程入门网
class="SalesRep">
<table name="T_SALESREP"/>
<primary-key-join-column name="PRTCPNT_TID"/>
...
</entity>
<!—Administrator subclass -->
<entity class="Administrator">
<table name="T_ADMIN"/>
<primary-key-join-column name="PRTCPNT_TID"/>
...
</entity>
2. 关系 对象模型中的对象之间(和数据模型中的表之间)需要多种关系。当数据模型在类似数据类的任何列 之间未指定关系时,对象模型必须明确对象之间的关系以支持遍历。此外,数据模型中的关系没有任何固 有方向(尽管按一个方向搜索可以比另一个方向更有效)。而对象模型关系固有包含从一个对象到另一个 对象的方向。 对象模型关系是在数据模型中实现的,方法是通过一个表中的外键引用另一个表中的主键。具有外键 的表称为子对象。其行表示对象,该对象的生命周期依赖于他们引用的对象。因此,其表将包含父对象的 外键。由于子对象具有外键,所以它必须始终指向有效的父对象;它不能是孤立的,这就意味着要删除父 对象,必须首先删除其子对象或从父对象到子对象执行级联删除。 为了维护关系,子对象也称为关系的所有者,而父对象称为非所有者。“所有者”这一概念非常重要 ,因为尽管 Java 程序员必须在两边设置双向关系,但是数据库只需更新一个值来反映这些更改;在子对 象(或所有者)中该更新针对外键。因此,在子对象中,对表示外键的属性的更改会传播到数据库,而对 父对象中反向属性的更改不会传播到数据库。 关系映射分为四个类别: a.一对一 b.多对一 c.一对多 d.多对多 a. 一对一关系 一对一关系定义到另一个持久对象的引用,其中子对象的生命周期完全依赖于父对象的生命周期。 在对象模型中使用组件对象建模一对一关系仍将导致两个独立的类,但在数据模型中不会有两个独立 的表。.一对一关系有异常情况。如果发生异常,Hibernate 中的常见做法是将其建模为组件对象,这样 子表中的所有属性都将展开到父表中,因此在访问子表的属性时,无需连接父表和子表。 还可以使用两个其他方法在 Hibernate 中建模一对一关系: 将多对一元素与表之间的外键关联一起使用;请按照多对一关系指导原则进行操作。 将一对一元素 与表之间的主键关联一起使用;使用 OpenJPA 中的一对一元素进行映射。 本部分的其余内容将介绍在 Hibernate 中使用组件元素迁移一对一关系,并介绍如何将其迁移到 OpenJPA 中的嵌入对象。 将遗留Hibernate应用程序迁移到OpenJPA和EJB 3.0(一)(14)时间:2011-09-18 Donald Vines对象模型 映射 7. 一对一关系 (POJO)
Hibernate 约定 在 Hibernate 中,使用组件对象的一对一关系按照以下方式进行映射: 使用类建模父类;在父类中,还要定义主键 (id) 和父类的其他属性。 使用嵌套组件元素建模子类;还可以在嵌套组件中定义其他属性(如果需要)。 映射 8. 一对一关系和组件对象(Hibernate XML 映射)
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |