Hibernate实战_笔记5(Hibernate、EJB3、JPA)
来源:互联网 发布:苹果越狱音乐软件 编辑:程序博客网 时间:2024/06/06 02:43
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服务。
总结:
第一章理论内容终于结束了,明天可以直接项目简单项目,看了一下第2章的目录
1、启动Hibernate项目
2、启动Java Persistence项目
3、反向工程遗留数据库
4、Java EE服务整合
3 0
- Hibernate实战_笔记5(Hibernate、EJB3、JPA)
- Hibernate实战_笔记12(JPA内嵌EJB)
- Hibernate实战_笔记9(JPA与Hibernate的区别)
- Hibernate实战_笔记7(Ant)
- Hibernate实战_笔记1(Hibernate基础理论)
- Hibernate实战_笔记2(Hibernate范未不匹配问题)
- Hibernate实战_笔记6(第一个Hibernate项目)
- Hibernate实战_笔记3
- Hibernate实战_笔记10
- EJB3.0,JPA,Hibernate之间的关系
- Hibernate实战_笔记4(ORM概念)
- Hibernate实战_笔记8(Ant设置Schema导出)
- Hibernate实战_笔记14(反向工程)
- Hibernate实战_笔记16(分析领域模型)
- Hibernate实战_笔记17(持久化实体类)
- Hibernate实战_笔记19(实现映射之XDoclet)
- Hibernate实战_笔记21(创建动态的应用程序)
- Hibernate实战_笔记22(表示XML中的数据)
- 单例模式&工厂模式(简介)
- 利用BeanUtils在对象间复制属性
- TCP/IP协议基础(总结)
- c++ 队列基本操作实现
- web前端设计
- Hibernate实战_笔记5(Hibernate、EJB3、JPA)
- PAT (Advanced) 1046. Shortest Distance (20)
- 13计算机毕业设计
- 九度题目1014:排名 && 2005年浙江大学计算机及软件工程研究生机试真题
- Codeforces Round #234 (Div. 2)
- [转载]windows路径操作API函数
- DirectX10一变换(三)
- Unity3d +vs2012 多线程.多并发网络解决方案(C#)
- 达内学习的java类库01