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日 作者: 查看:[大字体 中字体 小字体]
分享到:
相关推荐
歌词的第一部分,“You are my sunshine, my only sunshine”,直接表达了歌手对所爱之人无比的依赖和珍视。这里的“sunshine”不仅象征着温暖和光明,还代表了歌手生活中的希望和快乐源泉。他们通过这个比喻,强调...
This textbook contains no new scientific results, and my only contribution was to compile existing knowledge and explain it with my examples and intuition. I have made a great effort to cover ...
- “And fare thee weel, my only Luve!”:向爱人告别,表示祝福。 - “And fare thee weel a while!”:再次表示短暂的告别。 - “And I will come again, my Luve”:承诺将会归来。 - “Tho’ it were ten ...
- “And fare thee weel, my only Luve! / And fare thee weel a while!” - 在这段中,诗人表达了与爱人分别时的不舍,但承诺会回来相见。 - “And I will come again, my Luve, / Tho’ it were ten thousand ...
作为形容词,意为唯一的,如my only brother;作为副词,常置于动词前,表示仅仅,只,如I only watch them on TV。固定搭配only if表示只有,not only...but (also)...表示不仅...而且...。 本单元的学习将帮助...
模板中的文字“Reading is my only entertainment. I don't waste my time in hotels”是一个关于阅读的名言,强调阅读是个人娱乐的主要方式,优于消磨时间的其他活动。这句话可以用作PPT的引言或者主题陈述,突显...
- **连接代词和连接副词**:who, whom, whose, what, which, whoever, whatever, whichever, where, when, how, why(例如"What she did is not yet known."和"Wherever you are is my home —— my only home.")。...
”和“You are my sunshine, my only sunshine...”这样的句子表达了对美好天气的描述和对某人的情感表达。在学习英语的同时,学生能够学习到如何用英语描述环境以及表达感情和喜好,这对于提高学生对英语文化的理解...
首先,它可以指财产或所有权,不可数,如"This small house is my only property."。其次,它也可以表示特定地点的地产,如"property in the center"。此外,property还可以指事物的性质或特性,例如"steel's ...
此外,翻译中的词汇选择也是难点,如"I My only capital is diligence",其中“diligence”不仅是勤奋的意思,还暗示了成功的途径。 对于中国学生来说,阅读和翻译的困难可能源于两种截然不同的文字系统。中文采用...
- **完成句子**:要求学生补充完整句子,如歌词中的“你是我的唯一”(You Are My Only One),检验学生对固定搭配和语境的理解。 3. **试题特点** - **全面性**:试题覆盖了词汇、听力理解、情景对话等多个方面...
12. He was my only Chinese companion during my stay in Australia. ——companion 伙伴。 13. Pip is about eighteen years old when this happens, and the fortune sets him free from financial worries. ——...
5. **动名词**:动名词如"growing", "reading", "seeing"等作为主语时,通常表示一个持续性的行为或状态,例如"Growing flowers is my only hobby.","growing flowers"是主语,表明一个爱好。 6. **主语从句**:...
例如:"Wherever you are is my home ---- my only home."(你所在的任何地方就是我的家——我唯一的家。) 3. **主语从句的特殊形式** - **形式主语"It"**:在某些复杂的句子中,为了避免头重脚轻,可以用"It...
7. **情感稳定性**:“You have been and still are my only true Valentine.”这类语句强调了情感的稳定性和专一性,表达了对伴侣不变的爱。 8. **爱的力量**:“I didn’t think that I could ever trust ...
4. "It’s my only h__________." 填入的是“hobby”,表示“这是我唯一的爱好”。 5. "she always gets full m__________ in exams." 填入的是“marks”,表示“她总是在考试中得到满分”。 二、根据汉语提示写出...
My only wish is that for the next edition, having included basic vectors (not vector calculus) in this edition, there is a chapter on matrices (at least) or full, practical linear algebra as far as ...
Onlyoffice 中文字体包,感谢网上同学提供。 下载后,参考此同学的文章进行更新:https://my.oschina.net/u/4321424/blog/3714201 如还存在多余的字体,参看:...
牙医 用于去缩进的 ES6 模板字符串助手(改编自 )。 var deindent = require ( 'deindent' ) // as a string function deindent ( ` this is the ${ "end" } my only ... my only ...deindent ( String .... my only
和弦 歌曲文件格式的 ruby 解析器。 它可以像这样转换 chordpro 格式的歌曲........You are my sunshine my only sunshine [G7]You make me [C]happy when skies are [G]gray [G7]You'll never [C]know dear how mu