hibernate框架:有关Hibernate框架的介绍
来源: 发布时间:星期三, 2009年9月2日 浏览:8次 评论:0
1 应用分层体系结构
随着计算机应用软件Software发展应用逐渐由单层体系结构发展为多层体系结构其中 3层结构是目前典型种应用软件Software结构如图1左
表述层:提供和用户交互界面如GUI(图形用户界面)web页面等;
业务逻辑层:负责各种业务逻辑直接访问数据库提供对业务数据保存、更新、删除和查询操作;
数据库层:负责存放管理应用持久性业务数据
3层结构特点是:所有下层向上层提供接口,具体实现细节对上层透明,层和层之间存在自上而下依赖关系即上层会访问下层API但下层不依赖于上层
2 持久化层(如图1右)
(1)什么叫持久化?
持久(Persistence)即把数据(如内存中对象)保存到可永久保存存储设备中(如磁盘)持久化主要应用是将内存中数据存储在关系型数据库中当然也可以存储在磁盘文件中、XML数据文件中等等
(2)什么叫持久层?
持久层(Persistence Layer)即专注于实现数据持久化应用领域某个特定系统,各逻辑层面将数据使用者和数据实体相关联
(3)为什么要持久化?增加持久层作用是什么?
数据库读写是个很耗费时间和资源的操作,当大量用户同时直接访问数据库时候效率将非常低如果将数据持久化就不需要每次从数据库读取数据,直接在内存中对数据进行操作这样就节约了数据库资源而且加快了系统反映速度
增加持久化层提高了开发效率,使软件Software体系结构更加清晰,在代码编写和系统维护方面变得更容易特别是在大型应用里边会更有利,同时持久化层作为单独层,人们可以为这层独立开发个软件Software包让其实现将各种应用数据持久化,并为上层提供服务从而使得各个企业里做应用开发开发人员不必再来做数据持久化底层实现工作而是可以直接持久化层提供API
(4)目前在持久化层领域实现模式有以下几种:
A 业务逻辑和数据访问耦合
B 主动域对象模式
C ORM模式
D JDO模式
E CMP模式
3 ORM介绍
ORM(Object Relational Mapping)即对象关系映射
指以O/R原理设计持久化框架(Framework)包括 O/R机制、SQL自生成、事务处理和Cache管理等
ORM实现思想就是将关系数据库中表数据映射成为对象以对象形式展现这样开发人员就可以把对数据库操作转化为对这些对象操作因此它目是为了方便开发人员以面向对象思想来实现对数据库操作
常用ORM中间件有:
Apache OJB (http://db.apache.org/ojb/)
Cayenne (http://objectstyle.org/cayenne/)
Jaxor (http://jaxor.sourceforge.net)
Hibernate (http://www.hibernate.org)
iBatis (http://www.ibatis.com)
jRelationalFramework (http://ijf.sourceforge.net)
mirage (http://itor.cq2.org/en/oss/mirage/toon)
SMYLE (http://www.drjava.de/smyle)
TopLink (http://otn.oracle.com/products/ias/toplink/index.html)
其中 Hibernate 轻量级 ORM 模型逐步确立了在 Java ORM 架构中领导地位甚至取代复杂而又繁琐 EJB 模型而成为事实上 Java ORM 工业标准而且其中许多设计均被 J2EE 标准组织吸纳而成为最新 EJB 3.0 规范标准标准
2 Hibernate定义
Hibernate是种Java语言下对象关系映射解决方案 它是种自由、开源软件Software它用来把对象模型表示对象映射到基于SQL 关系模型结构中去为面向对象领域模型到传统关系型数据库映射提供了个使用方便框架
3 Hibernate作用
Hibernate 不仅管理Java 类到数据库表映射(包括从Java数据类型到SQL数据类型映射)还提供数据查询和获取数据思路方法可以大幅度减少开发时人工使用SQL 和JDBC 处理数据时间
它设计目标是将软件Software开发人员从大量相同数据持久层相关编程工作中解放出来无论是从设计草案还是从个遗留数据库开始开发人员都可以采用Hibernate
4 Hibernate应用
Hibernate对JDBC进行了非常轻量级对象封装使得Java员可以随心所欲使用对象编程思维来操纵数据库 Hibernate可以应用在任何使用JDBC场合它既可以在Java客户端使用也可以在Servlet/JSPWeb应用中使用最具革命意义是Hibernate可以在应用EJB(Enterprise JavaBeans是Java应用于企业计算框架)J2EE架构中取代CMP完成数据持久化重任
5 Hibernate API介绍
1 Hibernate API中接口可以分为以下几类:
(1) 提供访问数据库操作接口包括session、Transaction、Query接口;
(2) 用于配置Hibernate接口Configuration;
(3) 间接接口使应用接受Hibernate内部发生事件并作出相关回应包括:Interceptor、Lecycle、Validatable;
(4) 用于扩展Hibernate功能接口如UserType、CompositeUserType、IdentierGenerator接口
Hibernate内部还封装了JDBC、JTA(Java Transaction API)和JNDI(Java Naming And Directory Interface)其中JDBC提供底层数据访问操作只要用户提供了相应JDBC驱动Hibernate可以访问任何个数据库系统JTA和JNDI使Hibernate能够和J2EE应用服务器集成
2 Hibernate核心接口框图
6 Hibernate优缺点
(1)优点:
a.Hibernate 使用 Java 反射机制 而不是字节码增强来实现透明性
b.Hibernate 性能非常好它是个轻量级框架映射灵活性很出色
c. 它支持各种关系数据库从对到多对多各种复杂关系
(2)缺点:
Hibernate限制您所使用对象模型,例如一个持久性类不能映射到多个表
Hibernate Annotations 实战介绍
日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]
来源: 发布时间:星期三, 2009年9月2日 浏览:8次 评论:0
1 应用分层体系结构
随着计算机应用软件Software发展应用逐渐由单层体系结构发展为多层体系结构其中 3层结构是目前典型种应用软件Software结构如图1左
表述层:提供和用户交互界面如GUI(图形用户界面)web页面等;
业务逻辑层:负责各种业务逻辑直接访问数据库提供对业务数据保存、更新、删除和查询操作;
数据库层:负责存放管理应用持久性业务数据
3层结构特点是:所有下层向上层提供接口,具体实现细节对上层透明,层和层之间存在自上而下依赖关系即上层会访问下层API但下层不依赖于上层
2 持久化层(如图1右)
(1)什么叫持久化?
持久(Persistence)即把数据(如内存中对象)保存到可永久保存存储设备中(如磁盘)持久化主要应用是将内存中数据存储在关系型数据库中当然也可以存储在磁盘文件中、XML数据文件中等等
(2)什么叫持久层?
持久层(Persistence Layer)即专注于实现数据持久化应用领域某个特定系统,各逻辑层面将数据使用者和数据实体相关联
(3)为什么要持久化?增加持久层作用是什么?
数据库读写是个很耗费时间和资源的操作,当大量用户同时直接访问数据库时候效率将非常低如果将数据持久化就不需要每次从数据库读取数据,直接在内存中对数据进行操作这样就节约了数据库资源而且加快了系统反映速度
增加持久化层提高了开发效率,使软件Software体系结构更加清晰,在代码编写和系统维护方面变得更容易特别是在大型应用里边会更有利,同时持久化层作为单独层,人们可以为这层独立开发个软件Software包让其实现将各种应用数据持久化,并为上层提供服务从而使得各个企业里做应用开发开发人员不必再来做数据持久化底层实现工作而是可以直接持久化层提供API
(4)目前在持久化层领域实现模式有以下几种:
A 业务逻辑和数据访问耦合
B 主动域对象模式
C ORM模式
D JDO模式
E CMP模式
3 ORM介绍
ORM(Object Relational Mapping)即对象关系映射
指以O/R原理设计持久化框架(Framework)包括 O/R机制、SQL自生成、事务处理和Cache管理等
ORM实现思想就是将关系数据库中表数据映射成为对象以对象形式展现这样开发人员就可以把对数据库操作转化为对这些对象操作因此它目是为了方便开发人员以面向对象思想来实现对数据库操作
常用ORM中间件有:
Apache OJB (http://db.apache.org/ojb/)
Cayenne (http://objectstyle.org/cayenne/)
Jaxor (http://jaxor.sourceforge.net)
Hibernate (http://www.hibernate.org)
iBatis (http://www.ibatis.com)
jRelationalFramework (http://ijf.sourceforge.net)
mirage (http://itor.cq2.org/en/oss/mirage/toon)
SMYLE (http://www.drjava.de/smyle)
TopLink (http://otn.oracle.com/products/ias/toplink/index.html)
其中 Hibernate 轻量级 ORM 模型逐步确立了在 Java ORM 架构中领导地位甚至取代复杂而又繁琐 EJB 模型而成为事实上 Java ORM 工业标准而且其中许多设计均被 J2EE 标准组织吸纳而成为最新 EJB 3.0 规范标准标准
2 Hibernate定义
Hibernate是种Java语言下对象关系映射解决方案 它是种自由、开源软件Software它用来把对象模型表示对象映射到基于SQL 关系模型结构中去为面向对象领域模型到传统关系型数据库映射提供了个使用方便框架
3 Hibernate作用
Hibernate 不仅管理Java 类到数据库表映射(包括从Java数据类型到SQL数据类型映射)还提供数据查询和获取数据思路方法可以大幅度减少开发时人工使用SQL 和JDBC 处理数据时间
它设计目标是将软件Software开发人员从大量相同数据持久层相关编程工作中解放出来无论是从设计草案还是从个遗留数据库开始开发人员都可以采用Hibernate
4 Hibernate应用
Hibernate对JDBC进行了非常轻量级对象封装使得Java员可以随心所欲使用对象编程思维来操纵数据库 Hibernate可以应用在任何使用JDBC场合它既可以在Java客户端使用也可以在Servlet/JSPWeb应用中使用最具革命意义是Hibernate可以在应用EJB(Enterprise JavaBeans是Java应用于企业计算框架)J2EE架构中取代CMP完成数据持久化重任
5 Hibernate API介绍
1 Hibernate API中接口可以分为以下几类:
(1) 提供访问数据库操作接口包括session、Transaction、Query接口;
(2) 用于配置Hibernate接口Configuration;
(3) 间接接口使应用接受Hibernate内部发生事件并作出相关回应包括:Interceptor、Lecycle、Validatable;
(4) 用于扩展Hibernate功能接口如UserType、CompositeUserType、IdentierGenerator接口
Hibernate内部还封装了JDBC、JTA(Java Transaction API)和JNDI(Java Naming And Directory Interface)其中JDBC提供底层数据访问操作只要用户提供了相应JDBC驱动Hibernate可以访问任何个数据库系统JTA和JNDI使Hibernate能够和J2EE应用服务器集成
2 Hibernate核心接口框图
6 Hibernate优缺点
(1)优点:
a.Hibernate 使用 Java 反射机制 而不是字节码增强来实现透明性
b.Hibernate 性能非常好它是个轻量级框架映射灵活性很出色
c. 它支持各种关系数据库从对到多对多各种复杂关系
(2)缺点:
Hibernate限制您所使用对象模型,例如一个持久性类不能映射到多个表
Hibernate Annotations 实战介绍
日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]