将遗留Hibernate应用程序迁移到OpenJPA和EJB 3.0(二) - 编程入门网
ascadeType.ALL 属性,并更改源代码,不仅从父集合中移除子对象,而且从数据库中显式删除 子对象;例如,不需要类似于以下的代码:
您应使用类似于以下的代码替换它:
OpenJPA cascade=CascadeType.ALL 尽管上面的 Hibernate 示例仅指定了从父对象到子对象的级联操作,但是在使用 OpenJPA 持久性提 供程序测试此映射时,我们必须将 cascade=CascadeType.ALL 定义为两个方向,并在 OneToMany 注释和 ManyToOne 注释中指明。通常,您不需要从子对象到其父对象的级联操作(在 ManyToOne 注释中),但 是这对于使从父对象到子对象的 merge() 级联操作能够工作是必需的。 如果不按两个方向定义级联操作,则 remove() 和 persist() 的级联操作将从父 Address 对象到其 依赖的 Phone 对象进行,但是 merge() 的级联操作会引发异常,指示依赖对象中的 Phone.address 字 段不允许级联。 (这是当前正在使用的 OpenJPA v0.9.7 中的已知问题,在以后的版本中会修复该问题。与此同时, 解决办法是按两个方向启用级联。) 将遗留Hibernate应用程序迁移到OpenJPA和EJB 3.0(二)(4)时间:2011-09-18 Donald Vinesd. 多对多关系 多对多关系通过映射表定义到对象集合的引用。在对象模型中,多对多关系并不是全部通用的,但是 它们通常是双向的。 与其他双向关系一样,存在所属端和非所属端。在这种情况下,所属端拥有映射表,而不是外键。可 以将任意一端指定为所属端;选取哪一端并不重要。 对象模型 映射 16. 多对多关系 (POJO)
Hibernate 约定 在 Hibernate 中,多对多关系按照以下方式进行映射: 非所有者将集合(设置、包或列表)元素与 inverse="true" 属性、表属性、键子元素和多对多子元 素一起使用。 关系所有者将集合(设置、包或列表)元素与表属性、键子元素和多对多子元素一起使用。 映射 17. 多对多关系(Hibernate XML 映射)
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |