快速业务通道

使用Apache OpenJPA开发EJB 3.0应用,第4部分: 实体关联 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
数据库之前的独立性,建议使用大写字 符 31.  */ 32. @Column(name = "ID") 33. public int id; 34. 35. /* Basic 注释表示该属性是基本属性 */ 36. @Basic 37. /* 38.  * Column 注释的 name 属性定义了该类属性对应的数据字段的名 称,      * 为了最大限度保持系统和数据库之前的独立性,建议使用大写字 符 39.  */ 40. @Column(name = "NAME") 41. public String name = null; 42. 43. /* 44.  * 使用 OneToOne 注释表示该属性和 Book 类形成一对一关系, OneToOne 45.  * 注释的 option 属性设为 True 表示该对象可以不存在, cascade 属性 46.  * 设置为 CascadeType.ALL,表示 Book 和 BookExtend 对象级 联新建、 更新、删除、刷新 47.  */ 48. @OneToOne(optional = true, cascade = CascadeType.ALL) 49. /* 使用 JoinColumn 注释设置两个对象对应数据库表之间的关联字段  */ 50. @JoinColumn(name = "extendID") 51. public BookExtend bookExtend; 52. }

使用Apache OpenJPA开发EJB 3.0应用,第4部分: 实体关联(5)

时间:2011-08-31 IBM 肖菁

BookExtend 类

1. package org.vivianj.openjpa.beans; 2. 3. import javax.persistence.Basic; 4. import javax.persistence.Column; 5. import javax.persistence.Entity; 6. import javax.persistence.GeneratedValue; 7. import javax.persistence.GenerationType; 8. import javax.persistence.Id; 9. import javax.persistence.Inheritance; 10. import javax.persistence.InheritanceType; 11. 12. /** 13. * BookExtend 用于表征系统中书的扩展信息,它有两个属性:     * id - 扩展信息编号,扩展信息编号将由 MySQL 数据库自动生 成 14. * name -书的前言信息 15. */ 16. @Entity 17. public class BookExtend { 18. /* Id 注释表示该字段是标识字段 */ 19. @Id 20. /* 21.  * GeneratedValue 注释定义了该标识字段的产生方式,我们的演示 系统中 22.  * id 由 MySQL 数据库字段自动生成,因此选择  GenerationType.IDENTITY 23.  */ 24. @GeneratedValue(strategy = GenerationType.IDENTITY) 25. /* 26.  * Column 注释的 name 属性定义了该类属性对应的数据字段的名 称,      * 为了最大限度保持系统和数据库之前的独立性,建议使用大写字 符 27.  */ 28. @Column(name = "ID") 29. public int id; 30. 31. /* Basic 注释表示该属性是基本属性 */ 32. @Basic 33. /* 34.  * Column 注释的 name 属性定义了该类属性对应的数据字段的名 称,      * 为了最大限度保持系统和数据库之前的独立性,建议使用大写字 符 35.  */ 36. @Column(name = "NAME") 37. public String name = null; 38. }

使用Apache OpenJPA开发EJB 3.0应用,第4部分: 实体关联(6)

时间:2011-08-31 IBM 肖菁

调用代码

上面的代码中,我们已经准备好了符合要求的持久化类,下面我们看看 OpenJPA 中如何调用这两个类完成 Book 类和 BookExtend 类的创建、修改、删 除工作。

由于篇幅的关系,这些没有讲述如何编译、加强这些类并且准备相应的配置文 件来完成整个项目开发环境的建立,这部分的内容请参考另外一篇文章《OpenJPA :符合 EJB3 规范的持久层框架》。

级联新建对象

下面的这段代码演示了只需要调用 Book 类的 persist 方法就同时持久化 Book 类对象和 BookExtend 类对象的情况。请注意其中用粗体

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号