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服务。

ibernate、EJB3和JPA简介相关推荐

  1. Spring Boot 之Spring data JPA简介

    文章目录 添加依赖 添加entity bean 创建 Dao Spring Data Configuration 测试 Spring Boot 之Spring data JPA简介 JPA的全称是Ja ...

  2. java中bean对象_JAVA中PO,BO,VO,DTO,POJO,Entity,JavaBean,JavaBeans各个对象的区别,以及lombo、jpa简介及用法...

    常见JAVA类概念介绍 PO:持久对象 (persistent object). 是ORM(Objevt Relational Mapping)框架中Entity,PO属性和数据库中表的字段形成一一对 ...

  3. Spring 2 和 JPA 简介

    Spring 2 和 JPA 简介 用 Eclipse 和 DB2 Express-C 研究 Spring 2 框架和 Java 持久性 API 第 1 页,共 16 页 对本教程的评价 帮助我们改进 ...

  4. hibernate 和 jpa简介

    hibernate 和 jpa简介 小引 什么是ORM思想? Hibernate概述 JPA概述 hibernate 和 jpa的关系 jpa的常用对象 JPA中的主键生成策略 JPA的入门案例 配置 ...

  5. SpringDataJPA 系列之 JPA 简介

    1.1 了解 ORM 1.1.1 概述   对象-关系映射(Object/Relation Mapping,简称 ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用 ...

  6. springdatajpa命名规则_Spring Boot 之Spring data JPA简介

    PA的全称是Java Persistence API (JPA),他是一个存储API的标准,而Spring data JPA就是对JPA的一种实现,可以让我们方便的对数据进行存取.按照约定好的方法命名 ...

  7. Spring Boot————Spring Data JPA简介

    引言 JPA是Java 持久化API的缩写,是一套Java数据持久化的规范, Spring Data Spring Data项目的目的是为了简化构建基于Spring 框架应用的数据访问技术,包括对关系 ...

  8. JPA与EJB3的关系

    JPA是基于Java持久化的解决方案,主要是为了解决ORM框架的差异,它的出现在某种程度上能够解决目前ORM框架之间不能够兼容的问题,对开发人员来说,能够更好的在JPA规范下进行系统开发. JPA全称 ...

  9. Spring Data 系列(二) Spring+JPA入门(集成Hibernate)

    通过[Spring Data 系列(一) 入门]的介绍,通过对比的方式认识到Spring提供的JdbcTemplate的强大功能.通过使用JdbcTemplate,操作数据库,不需要手动处理Conne ...

最新文章

  1. Android Hook ActivityThread mH 消息
  2. 初等数论--整除--带余除法
  3. 中小企业私有云解决方案浅谈
  4. smartforms金额或者数量字段显示不出来
  5. 移动Oracle的用户表空间文件方法
  6. ROS(kinetic)安装中的一些问题(已解决)
  7. Paros工具使用操作手册
  8. bzoj 1676: [Usaco2005 Feb]Feed Accounting 饲料计算(差分)
  9. 求指教,PSO算法跟踪光伏电池最大功率点
  10. Servlet+jsp入门教程
  11. 统一建模语言(UML)介绍和使用
  12. 操作系统源码及GeekOS学习
  13. 安全合规/法案--33--《APP违法违规收集使用个人信息自评估指南》原文及解读
  14. Photoshop抠图--使用图层蒙版抠图
  15. 如何用java解压文件_如何用Java解压缩文件?
  16. Pelles C 五光十色中的一抹经典
  17. stm32 CAN通信 TJA1040
  18. LIMIT 10000,10会发生什么?
  19. 南卫理公会大学计算机科学,南卫理公会大学计算机科学与工程硕士.pdf
  20. 幼儿抽象逻辑思维举例_小学数学中抽象思维的培养

热门文章

  1. 携手“懂行人” ,护航自贸区综保区高质量发展
  2. Tomcat7中文文档
  3. Python小甲鱼学习笔记11-15
  4. Abaqus学习笔记
  5. Matlab与单片机的串口通信-matlab…
  6. sizeof关键字使用方法及实例演示
  7. Ubuntu 12.04 联想G470 显卡驱动安装,AMD Radeon HD 6300M Series 驱动安装
  8. 安卓手机屏蔽物理按键
  9. Jetson TX1和TX2手动刷机/备份和镜像恢复
  10. unity 正六边形网格绘制(精简版)-代码可直接复用