当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

<b>真的,为什么要用Hibernate?</b>[Java编程]

赞助商链接



  本文“<b>真的,为什么要用Hibernate?</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

您已经拥有需求的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 标准系列中的一部份在 JAVA 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 Application Server 产品中.无论您的环境利用这个特点包办理筹划中的一个还是利用 WebSphere Application Server v7,JPA 办理筹划都可以开箱即用,不需求额外配置或打包.

由于这个集成的 JPA 办理筹划(见图 1),WebSphere Application Server 可以向底子 OpenJPA 二进制文件供应一些功效扩大.一些已经被加强的范畴包含 IBM DB2® 扩大(具体是 pureQuery 集成和锁定优化)、性能、配置和管理支持、安全支持、已扩大的跟踪和日记支持、以及用于消息日记的国家语言支持.

图 1. WebSphere JPA 架构

WebSphere Application Server JPA 答应在 WebSphere Application Server 运行时安装和利用替换 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 Server 支持在该替换 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 得到的好处,还有助于最大化您的开辟工作成果.


  以上是“<b>真的,为什么要用Hibernate?</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .