ibernate、EJB3和JPA简介

  Hibernate、EJB3和JPA简介

  在用Hibernate开始第一个项目之前,应该考虑EJB3.0标准和它的子规范Java Persistence.让我们回顾历史看看这个新标准是如何产生的。

  许多Java开发人员认为EJB2.1实体bean是持久层实现的技术之五。EJB编程和持久化模型在行业中已经被广泛采用,并且已经成了J2EE成功的一个重要因素。

  Hibernate和EJB3之间的关系具体是什么,以及什么是Java Persistence呢?

  1、理解标准

  首先,难以把规范和产品进行比较。问题应该是"Hiberante实现EJB3.0规范吗?它对我的项目有什么影响?我必须使用其中一个吗?"

  新的EJB3.0规范有几个部分:第一部分给会话bean、消息驱动bean以及部署规则等,定义新的EJB编程模型。规范的第二部分专门处理持久化:实体、ORM元数据、持久化管理器接口和查询语言。第二部分被称作JPA,可能因为它的接口是在javax.persistence包中。

  这种分离也存在于EJB3.0产品中,有些实现支持规范所有部分的一个完全的EJB3.0容器,其他产品可能只实现Javav Persistence部分。新标准中设计了两条重要的规则:

  1)、JPA引擎应该是可插拔的

  2)、JPA引擎应该能够在EJB3.0运行时环境之外运行

  2、Hibernate Core

  Hibernate Core也称作Hibernate 3.2.x或者Hibernate.

  Hibernate Core可以单独使用,独立于任何框架或者任何包含所有JDK的特定运行时环境。它适用于每一个Java EE/J2EE应用程序服务器、Swing应用程序、简单的servlet容器等。只要你能够给Hibernate配置数据源,它就能够实现。

  3、Hibernate Annotations

  JPA规范定义ORM元数据语法和语义,主要机制为JDK5.0注解。Hibernate Annotations一般来说是实现JPA标准的一组基础注解,它们也是更高级和更奇异的Hibernate映射和调优所需的一组扩展注解。

  可以使用Hibernate Core和Hibernate Annotations减少映射元数据的代码行,相比于原生的XML文件,你可能更喜欢注解更易重构的能力。如果完整的可移植性不是你最注的,则可以只用JPA注解,或者增加一个Hibernate扩展注解。(在实际应用程序中,你应该相应已经选择的产品,而不是始终否认它的存在。)

  4、Hibernate EntityManager

  JPA规范也定义编程接口、持久化对象的生命周期规则和查询特性。JPA这部分的Hibernate实现可被用作Hibernate EntityManager,这是另一个可以堆在Hibernate Core顶部的可选模块。当需要简单的Hibernate接口或者甚至甚至需要JDBC连接时,可以退回。Hibernate原生的特性在各个方面都是JPA持久化特性的一个超集。(简单的事实就是,Hibernate EntityManager是对提供JPA兼容性的Hibernate Core的一个小包装。)

  5、Java EE5.0应用程序服务器

  Hibernate也是JBoss应用程序服务器(JBoss AS)的一部分。Hibernate Core、Hibernate Annotations和Hibernate EntityManager结合起来,形成了这个应用程序服务器的持久化引擎。因此,可以独立使用每件东西,也可以在应用程序服务器内部使用共享所有EJB3.0的益处,例如会话bean、消息驱动的bean和其他的Java EE服务。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值