快速业务通道

使用Apache OpenJPA开发EJB 3.0应用,第2部分:开发第一个Open JPA应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
vax.persistence.Entity; 5. import javax.persistence.GeneratedValue; 6. import javax.persistence.GenerationType; 7. import javax.persistence.Id; 8. 9. /* 10. * 使用Entity注释表示该类是实体类,它的name属性是该实体在查询中 对应的 11. * 唯一名称,如果没有提供Entity的name属性,默认的name属性是类名 。 12. */ 13. @Entity 14. public class Animal { 15. // 编号 16.   /* 使用Id注释表示该字段是标识字段 */ 17. @Id 18.   /* 19.   * 使用GeneratedValue注释定义该标识字段的产生方式,我们的演 示系统中 20.   * id由MySQL数据库字段自动生成,因此选择 GenerationType.IDENTITY, 21.   * 另外的可选方式包括GeneratorType.AUTO, GenerationType.SEQUENCE, 22.   * GenerationType.TABLE。 23.   */ 24. @GeneratedValue(strategy = GenerationType.IDENTITY) 25. private int id; 26. 27.   // 名称 28. /* 29.   * Basic注释表示该属性是持久化属性,没有使用Basic注释的属性 将不会 30.   * 被持久化到数据库中 31.   */ 32.    @Basic  33. private String name; 34. 35. public int getId() { 36.  return id; 37. } 38. 39. public void setId(int id) { 40.  this.id = id; 41. } 42. 43. public String getName() { 44.  return name; 45. } 46. 47. public void setName(String name) { 48.  this.name = name; 49. } 50. 51. }

使用Apache OpenJPA开发EJB 3.0应用,第2部分:开发第一个Open JPA应用(4)

时间:2011-08-31 IBM 肖菁

编译实体类

打开命令行控制台,进入 C:\OpenJPAExamples 目录,执行下面的系列语句可 以编译实体类 Animal.java。

C:\OpenJPAExamples>set OPENJPA_HOME=C:\OpenJPA C:\OpenJPAExamples>set classpath=%OPENJPA_HOME%\lib\persistence- api-1.0.jar C:\OpenJPAExamples>javac Animal.java -d 

[注] 上面的命令行中第一行出现的 C:\OpenJPA 是指 OpenJPA 框架的安装目 录。如果您没有使用 C:/OpenJPA 作为 OpenJPA 的安装目录,请将 OPENNJPA_HOME 的值修改为您安装 OpenJPA 的目录。

增强(Enhance)实体类

Enhance 是使用 OpenJPA 必须的一个步骤,所谓 Enhance 是指使用 OpenJPA 提供的工具 PCEnhancer(org.apache.openjpa.enhance.PCEnhancer)对实体类 进行处理的过程,被 Enhance 过的实体类能够支持性能优化、懒惰式装载等高级 特性。

OpenJPA 支持在编译时、部署时、运行时增强实体类,我们以编译时为例了解 如何增强实体类。我们使用下面的系列语句完成实体类的增强(Enhance)。

1. C:\OpenJPAExamples>set OPENJPA_HOME=C:\OpenJPA 2. C:\OpenJPAExamples>set classpath= %OPENJPA_HOME% \lib\commons-collections-3.2.jar;   %OPENJPA_HOME%\lib\commons-lang-2.1.jar;   %OPENJPA_HOME%\lib\commons-logging-1.0.4.jar;   %OPENJPA_HOME%\lib\commons-pool-1.3.jar;   %OPENJPA_HOME%\lib\geronimo-j2ee-connector_1.5_spec-1.0.1.jar;   %OPENJPA_HOME%\lib\geronimo-jms_1.1_spec-1.0.1.jar;   %OPENJPA_HOME%\lib\geronimo-jta_1.0.1B_spec-1.0.1.jar;   %OPENJPA_HOME%\lib\persistence-api-1.0.jar;   %OPENJPA_HOME%\lib\serp-1.11.0.jar;   %OPENJPA_HOME%\openjpa-all-0.9.6-incubating.jar 3. C:\OpenJPAExamples>java org.apache.openjpa.enhance.PCEnhancer  Animal.java

有兴趣的读者可以使用反射(Reflect)机制获取经过 Enhance 的类

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号