使用Apache OpenJPA开发EJB 3.0应用,第2部分:开发第一个Open JPA应用 - 编程入门网
使用Apache OpenJPA开发EJB 3.0应用,第2部分:开发第一个Open JPA应用时间:2011-08-31 IBM 肖菁在上一部分中,我们了解了 EJB 3.0 标准和 OpenJPA 的基本特性,现在我们 将开始讲述如何使用 OpenJPA 开发企业应用。本文中,我们将假设有一个 Animal 对象,在某一个应用场景中,我们需要使用 OpenJPA 框架提供的工具和 接口完成 Animal 对象的持久化、属性修改、删除、查找功能。本文将通过简单 的文字和代码描述使用 OpenJPA 开发的步骤和方法,以及开发过程中如何使用 OpenJPA 提供的工具协助完成开发任务。 下载及安装 OpenJPA 支持环境准备 由于 OpenJPA 是基于注释机制的框架,这需要用到 JDK 5.0 或者以上版本, 因此请确保在工作机器上已经下载和安装了 JDK 5.0。 演示过程中,我们需要一个数据库作为对象持久化的目标数据库。出于简单和 方便的考虑,我们选择采用 MySQL 数据库,因此您需要下载 MySQL 数据库安装 包。如果需要 MySQL 很好的支持中文字符(GB2312 编码),您可选择下载 MySQL 5.0 或者以上版本,安装的时候选择数据库字符集为 GB2312 即可。 下载、安装 OpenJPA OpenJPA 的最新稳定版本是 Open JPA 0.97。OpenJPA 的安装比较简单,只需 要将下载的压缩文件解压即可。我们假设将下载的压缩包解压到 C:/OpenJPA 目 录下(本文后面将使用 %OPENJPA_HOME% 来引用这个目录)。 使用 OpenJPA 开发 EJB 3.0 应用 成功安装 OpenJPA 后,我们就可以开始应用 OpenJPA 框架开发 EJB 3.0 应 用了。下面的章节中我们将讲述应用 OpenJPA 框架开发 EJB 3.0 应用的主要步 骤。为了把描述集中在 OpenJPA 本身而不涉及太多的其它内容,在本演示场景中 ,我们在轻量级应用中来使用 OpenJPA,开发出的应用基于 Java SE 环境运行, 而不依赖于 EJB 容器,关于如何在 Java EE 中配置使用 OpenJPA 将是另外一个 主题,本文将暂不涉及,本系列的后续文章中将会讨论这个主题。 通常情况下,使用 OpenJPA 框架开发持久层主要有以下步骤: 编写(或修改)OpenJPA 配置文件; 在非 JavaEE 环境下,OpenJPA 通常使用 CLASSPATH 环境下的 META- INF\persistence.xml 文件来创建 EntityManagerFactory,而每一个被管理的 Java 实体类必须在 persistence.xml 中注册后才能被 EneityManager 处理。 根据业务需要设计 Java 对象、编写对应的 Java 实体类; 用 JDK 编译 Java 实体类; 用 OpenJPA 提供的工具 — PCEnhancer 来增强(enhance)编译好的 Java 实体类;被增强过的类可以提供更好的运行性能、灵活的 "懒加载" 等方面的优 势,更多详细的内容请参考 OpenJPA 的帮助文档。 使用 OpenJPA 提供的工具 MappingTool 从 Java 对象生成数据库定义文件( DDL); 可以通过 MappingTool 工具直接保持 Entity 和数据库之间的一致性,也可 以使用 MappingTool 工具生成的数据库定义文件(DDL)创建应用正常运行所需 要的数据库结构。 使用Apache OpenJPA开发EJB 3.0应用,第2部分:开发第一个Open JPA应用(2)时间:2011-08-31 IBM 肖菁将创建的实体类注册到 OpenJPA 容器中; 应用 JPA 接口编写实体类访问代码,实现相应的业务逻辑。 下面我们将用一个简单的例子来说明创建 OpenJPA 应用的典型步骤,实例中 我们将创建名为 Animal 的持久化对象,它有两个属性,分别是 “id”和 “name”,Animal 对象将被持久化到本地的 MySQL 数据库中,其中 id 属性对 应的数据库字段由 MySQL 数据库自动生成。 开发环境说明 本文的演示说明均基于 Windows XP 平台,JDK 版本为 1.5.0_11,数据库服 务器为 MySQL 5.0,和演示代码位于同一台机器上。所有演示用例对应的 MySQL 数据库为&l |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |