通过WebSphere Application Server V6.1利用OpenJPA

引言

EJB 3.0 规范对 EJB 编程模型进行了重大的(有人说是必要的)改造。整个 EJB 编程模型集中于带注释的普通 Java 对象(plain old Java object,POJO)的使用,与过去的 EJB 规范具有根本性的区别。这个新编程模型得到大量关注的一个方面是持久性体系结构。本文通过一个完整的示例来介绍这个新的 Java Persistence API,该示例演示了现在如何通过 WebSphere Application Server V6.1 来利用该 API 的部分功能。

JPA 简要概述

Java Persistence API (JPA) 是 Java EE 5 EJB 3.0 (EJB 3) 系列规范的组成部分。EJB 3 专家组提出了三个规范:

EJB Core Contracts and Requirements

EJB 3.0 Simplified API

Java Persistence API

JPA 规范定义持久性的管理和与 Java EE 及 Java SE 环境的对象/关系映射。

简而言之,JPA 规范涵盖以下关键领域:

引入了一个新的基于 POJO 的编程模型,它同样适用于 Java EE 和 Java SE 环境。除了使用基于 XML 的机制外,现在还可以使用注释来直接在应用程序中定义元数据。此外,实体 POJO 不再需要实现任何基于 EJB 框架的接口。

该编程模型还定义了 POJO(实体)对象的分离模型。这对于客户机/服务器和 Web 应用程序环境应该是一个优点。

除了增强 EJB 查询语言(EJB Query Language,也称为 JPQL)外,该编程模型还支持使用本机 SQL 查询。

该 JPA 规范还明确定义了对象/关系 (O/R) 映射,而不是依赖以前版本中特定于供应商的 O/R 映射。这应该有助于更换供应商和迁移应用程序。

一些与持久性相关的其他项也进行了标准化:

用于开放式并发控制的对象版本控制

数据库键生成

字段的惰性与积极加载

继承

所有这一切简化付出了一定的代价。由于编程模型的重大变化,现有 EJB 2.x 应用程序将需要重新编写才能利用新的 JPA 功能。此外,新的 JPA 规范没有包括容器管理关系(container-managed relationship,CMR)的自动维护。关系维护现在是应用程序管理的。

OpenJPA 简介

Apache OpenJPA 项目是一个 Apache 授权的开放源代码 Java Persistence API 实现。OpenJPA 集中于构建一个稳健、高性能、可伸缩的 JPA 实现。

尽管原始源代码是由 BEA(通过对 SolarMetric Kodo 收购)提供的,但是其他公司和个人也作为志愿者、捐助者和用户参与到 OpenJPA 项目中来,其中包括 IBM。OpenJPA 社区不断发展繁荣,预期在将来不久的某个时候会从孵化期脱颖而出。

由于业界对此 OpenJPA 项目的兴趣,本文将帮助解释如何立即在您的 WebSphere Application Server 环境中利用此实现。

示例应用程序研究

对于我们的示例,我们将使用一个客户订单系统 (Customer Order System),客户在其中创建订单、添加产品项,然后提交订单。图 1 演示了我们的示例系统中的用例。

图 1. 示例应用程序用例

图 2 中的活动图演示了那些用例的执行顺序。

图 2. 示例应用程序用例顺序

在此示例中,我们仅集中于 Persistence 层,因为我们的目标是说明如何在 WebSphere Application Server V6.1 中使用 OpenJPA 作为持久层。

图 3. 数据库数据模型

时间: 2016-01-26

通过WebSphere Application Server V6.1利用OpenJPA的相关文章

WebSphere Application Server V6高级安全性加强,第2部分

本文是以 IBM WebSphere: Deployment and Advanced Configuration 一书的安全性章节为基础编写的.本文内容已针对 WebSphere Application Server V6 进行了大幅度更新,并经过编辑,只讨论安全性加强方面的内容.该文本已进行过编辑和排版以作为独立的文章发表.虽然本文基于 WebSphere Application Server V6,但这里的大多数问题也同样适用于 V5 和 V5.1.其中有一个问题是 V6 特有的,我们会特

WebSphere Application Server V6高级安全性加强,第 1 部分(一)

本文是以 IBM WebSphere: Deployment and Advanced Configuration 一书的安全性章节为基础编写的.本文内容已针对 WebSphere Application Server V6 进行了大幅度更新,并经过编辑,只讨论安全性加强方面的内容.该文本已进行过编辑和排版以作为独立的文章发表.虽然本文基于 WebSphere Application Server V6,但这里的大多数问题也同样适用于 V5 和 V5.1.其中有一个问题是 V6 特有的,我们会特

在WebSphere Application Server V6.1应用程序中跟踪死锁

学习如何使用 IBM WebSphere Application Server V6.1 中的线程转储工具了解您的系统环境,检查是否发生死锁以及提取信息来帮助避免或解决自己应用程序的死锁情况. 引言 当两个或多个线程彼此形成循环依赖关系时,就出现了死锁.例如,如果线程 A 处于等待线程 B 的等待状态,而同时线程 B 处于等待线程 A 的等待状态,则出现了死锁.一旦形成此情况,线程 A 和线程 B 都不能有任何进展,因为这两个线程现在都无限期地挂起了.为什么会有人创建这种系统?当然,您并不会有意

IBM WebSphere Application Server V6.1 Fix Pack 27于2009.09.21发布

IBM WebSphere Application Server V6.1 Fix Pack 27于2009.09.21发布   各个平台下载,请见: http://www.ibm.com/support/docview.wss?rs=180&uid=swg24024195   详细修复列表,请见:http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg27007951#61027  

IBM WebSphere Application Server V6.1 Fix Pack 29于2010.01.18发布

IBM WebSphere Application Server V6.1 Fix Pack 29于2010.01.18发布  各个平台下载,请见: http://www.ibm.com/support/docview.wss?rs=180&uid=swg24025185  详细修复列表,请见: http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg27007951#61029

了解EJB调用如何在WebSphere Application Server V6.1中操作

序使用部署在 IBM WebSphere Application Server 中的 EJB Enterprise JavaBeans (EJB).与这些 EJB 组件通信需要使用到诸如 Internet ORB 间协议(Internet Inter-ORB Protocol,IIOP) 通信.JNDI 查找和工作负载管理等概念.此交互可能非常复杂,对许多 WebSphere 用户来说通常是个黑盒.本文提供有关 EJB 通信如何在 WebSphere Application Server 上下文

WebSphere Application Server V6高级安全性加强,第1部分(二)

图 9.启用 LDAP SSL 如果您使用自定义注册表,则需要使用任何可用的机制来保护该传输. 11.更改缺省密钥文件 如前面所述,启用 WebSphere Application Server 安全性使得大多数内部传输都使用 SSL 来保护其不受各种形式的网络攻击.然而,为了建立 SSL 连接,服务器必须持有证书和相应的私钥.为了简化初始安装流程,在交付 WebSphere Application Server 时也提供了一个包含私钥示例的密钥文件示例.售出的每个 WebSphere Appl

利用z/OS工具识别WebSphere Application Server的CPU资源使用情况

本文将展示如何利用 z/OS® 工具识别各个 WebSphere Application Server 应用程序的 CPU 资源使用情况. IBM WebSphere Application Server 环境常常托管着多个不同类型的企业应用程序,它们受不同的 Java EE 技术支持.这些应用程序通常会并发运行,每个都会消耗与它们执行的工作相对应的系统资源,比如 CPU 周期和内存.在性能测试和生产使用期间,查看每个应用程序(而不是仅查看整个应用服务器)消耗的资源常常很有用. 有许多工具可用于

WebSphere Application Server V7、V8 和 V8.5 中的高级安全性加强 一

简介 IBM WebSphere Application Server 的安全性在每个版本中都有所改进.除了在新版本中增加了一些新功能之外,我们还不断增强产品的默认安全性.我们通过改进默认设置不断提高满足默认安全性这一关键原则的程度.本文的前一个版本 主要关注 WebSphere Application Server V6 和那个版本所需的加强步骤.在后续 WebSphere Application Server 版本中,显著减少了加强步骤的数量,更重要的是,保留的大多数步骤变得不那么关键了.那