快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

葡京娱乐场娱乐网址_龟发之家论坛



您已经拥有必要的 JPA 实现

近来,我回答了几个关于在 IBM® WebSphere® Application Server 情况内应用 Hibernate 的论坛帖子、电子邮件、即时消息和电话咨询。因为人们对这个主题兴趣浓厚,是以我想在这里先容有关信息,盼望本文会对那些还没有来得及亲身问我的人有所赞助。

详细来说,我指的是葡京娱乐场娱乐网址在 WebSphere Application Server 情况中应用 Hibernate JPA。这也是原始 Hibernate 编程模型,我将其称为 Hibernate “经典”。因为这个经典 Hibernate 编程模型并不是 Java™ EE 5 套件的一部分,是以它与这个话题关系不大年夜。这篇文章 有几个重复版本,该文章描述了若何在 WebSphere Application Server 情况中使用 Hibernate “经典” 编程模型。这种应用基础上类似于其他任何实用法度榜样框架。您可以将其打包为一个(共享)库并从您的利用法度榜样应用它,但它不是全部利用法度榜样办事器运行时的一个需要部分。

本文主要关注若何在 WebSphere Application Server 情况中应用 Hibernate JPA — 或者说,既然 WebSphere Application Server 已经供给了一个行业领先的 JPA 实现,为什么 要应用 Hibernate JPA?

JPA 是什么?

JPA 便是 Java Persistence API,它是标准持久性框架,作为 EJB™ 3.0 规范系列中的一部分在 JA葡京娱乐场娱乐网址VA EE 5 中首次引入。到 Java EE 6,JPA 2.0 成长为拥有自己的 JSR。JPA 的核心是一个 Object/Relational (O/R) Mapping 举措措施,但它已经蜕变为包孕几个 其他特点。因为 JPA 是 Java EE 套件的一个需要组件,它的功能与 EJB 容器和 Web 容器、事务治理、数据库连接治理和安然治理完全集成。许多技巧都注入到 JPA 的创建历程中,比如 EJB CMP、JDO 和 Hibernate。是以,如斯多的现有 Hibernate 用户都想在 WebSphere Application Server 情况中继承应用这个框架就不够为奇了。

Hibernate 的继承应用是一个有争议的有效目标,就像从一个编程模型(经典)到另一个(JPA)必要花费光阴和资本一样。假如没有足够的来由在支持这个投资,那么继承应用原本有效的对象就行了,这种行径以致还可能受到鼓励。

但假如您正在计划迁移到 JPA 标准并享受此中的好处,那么有几个强有力的缘故原由匆匆使您从 Hibernate “经典” 迁移到 WebSphere JPA 办理规划。

WebSphere JPA 办理规划和上风

WebSphere Application Server JPA 办理规划构建于 Apache OpenJPA 项目之上:

WebSphere Application Server V6.1 Feature Pack for EJB 3.0 首先包孕 JPA 并基于 OpenJPA 1.0.x 办事流。

WebSphere Application Server V7 供给了完备的 Java EE 5 客栈,包括一个更新的、基于 OpenJPA 1.2.x 流的 JPA。

近来,WebSphere Application Server V7 Feature Pack for OSGi Applications and Java Persistence API 2.0 被引入,它基于 OpenJPA 2.0.x 流。

所有这些软件都使用相同的二进制文件,它们可以从 OpenJPA 下载站点 获取,是以,有一点可以包管:任何针对 Apache OpenJPA 编写的利用法度榜样无需改动就可以在 WebSphere Application Server 情况中运行。

当然,WebSphere Application Server 还经由过程一些已定义的插入点来供给 OpenJPA 基础软件之外的其他特点,从而供给一个异常完备、异常富厚的 JPA 办理规划。

易于应用

WebSphere JPA 办理规划完全集成到 WebSphere Applicatio葡京娱乐场娱乐网址n Server 产品中。无论您的情况应用这个特点经办理规划中的一个照样应用 WebSphere Application Server v7,JPA 办理规划都可以开箱即用,不必要额外设置设置设备摆设摆设或打包。

因为这个集成的 JPA 办理规划(见图 1),WebSphere Application Server 能够向根基 OpenJPA 二进制文件供给一些功能扩展。一些已经被增强的领域包括 IBM DB2® 扩展(详细是 pureQuery 集成和锁定优化)、机能、设置设置设备摆设摆设和治理支持、安然支持、已扩展的跟踪和日志支持、以及用于消息日志的国家说话支持。

图 1. WebSphere JPA 架构

WebSphere Application Server JPA 容许在 WebSphere Application Ser葡京娱乐场娱乐网址ver 运行时安装和应用替代 JPA 供给者。例如,可以应用 Hibernate JPA,但 Hibernate JPA 供给者不能获取任何 WebSphere Application Server 扩展。除此之外,Hibernate JPA 办理规划的打包也不简单。是以,必要留意的是,只管 WebSphere Application Server 切实着实支持应用替代 JPA 供给者,但这种措施有一些毛病。

更低的支持资源

完备的 WebSphere JPA 办理规划拥有完备的 IBM 产品办事和支持,这意味着发明的任何问题都将经由过程老例支持渠道得以办理。JPA 开拓团队的大年夜多半成员都是 Apache OpenJPA 项目的积极供献者。所有问题都将记录在案并经由过程 Apache OpenJPA 项目办理。然后,这些更新将作为老例 WebSphere 支持流程的一部分方便地交付。

WebSphere JPA 办理规划的另一个主要上风是不合发行版之间的兼容性支持。紧张的是从一个 WebSphere Application Server 发行版迁移到另一个 — 包括完备的版本和特点包 — 尽可能简单,IBM 也尽统统努力使 JPA 迁移也同样轻松。假如一个新 JPA 或 Java EE 规范迫使对该产品进行不兼容的变动,平日会供给实现上述行径的文档和 “支持选项”。因为 OpenJPA 机动的打包架构,WebSphere Application Server 能够替代任何不规范的 OpenJPA 行径,使不合宣布版之间的 WebSphere Application Server 体验同等。

假如您应用一个替代 JPA 供给者,比如 Hibernate JPA,则 WebSphere Application Serv葡京娱乐场娱乐网址er 支持在该替代 JPA 供给者的已定义插入点竣事。在替代 JPA 供给者中发明的任何问题(比如工具映射、数据库交互、机能问题等)都必要与该供给者一路办理。这大概涉及应用他们的论坛获取支持,或者建立一个外部办事条约。显然,这不太方便。

更好的机能

请记着,机能对照可能不敷客不雅。由一个 JPA 供给者研发和推广的任何机能基准测试 — 纵然是宣布到 Web 上的所谓 “自力” JPA 基准测试 — 都可能方向某个 JPA 供给者。假如再加入许可身分,那么这些类型的特定 JPA 基准测试可能会更狼藉。

因为这些和其他缘故原由,IBM 平日依附行业标准基准测试。例如,SpecJEnterprise 斟酌利用法度榜样办事器的几个方面,但主要关注持久性框架。据预计,75-80% 的 SpecJEnterprise 基准测试依附持久化层(即 JPA 供给者)。SpecJEnterprise 1Q2010 对照清晰地显示 WebSphere 在这个领域的引导职位地方,类似的结果也呈现在 2Q2010 和更高版本。

IBM 赓续经由过程简单操作(创建、检索、更新和删除)、运行行业基准测试以及其他措施对照 WebSphere Application Server JPA 办理规划和其他办理规划。IBM 度量了许多变体,以确保 WebSphere JPA 办理规划继承维持机能领先职位地方,并最大年夜化 WebSphere Application Server 的体验和总体上风。

停止语

本文主要说明坚持应用 WebSphere JPA 办理规划而不是迁移到 Hibernate JPA(或其他任何 JPA 供给者)在营业、开拓和其他各方面都是明智选择。简单易用、更低的资源、更好的机能、以及无缝的体验不仅能最大年夜化您从 WebSphere Application Server 得到的好处,还有助于最大年夜化您的开拓事情成果。

您可能还会对下面的文章感兴趣: