本书站在客观评价Hibernate这门持久化技术的角度,来分析Hibernate的基本构成、知识点及实现原理,汇总业界及作者在Hibernate应用方面的实践经验,分清Hibernate的优势和劣势,及可代替的解决方案,展示Hibernate对象关系映射技术的真谛,总结Hibernate在项目开发中的最佳实践经验,使得读者在入门领悟Hibernate理论知识的同时,能了解Hibernate的优势和劣势,做到扬长避短,而不是盲目膜拜。\r\n 本书以Hibernate 3为基础,由浅入深介绍Hibernate OR映射的基本理论知识及最佳实践经验。内容主要分三部分,第一部分是对象关系映射技术的基本理论及Hibernate 对象映射技术的基本知识点,第二部分讲解Hibernate技术的查询和事务、缓存等高级性能,第三部分是Hibernate业界应用的最佳实践经验,包括如何使用Spring集成Hibernate,使用DAO模式透明化持久层设计,Hibernate在Web应用中的最佳实践和Hibernate性能优化和如何使用iBATIS、JdbcTemplate来替代Hibernate。\r\n 本书特别适合使用Hibernate进行企业开发的开发人员作为参考书籍,可以将书中的Hibernate最佳实践经验应用于项目中,也适合Hibernate的入门读者作为入门书籍。
第1章 对象-关系映射概述 \r\n 1.1 分层体系结构 \r\n 1.2 软件设计模型 \r\n 1.3 对象-关系映射技术背景\r\n 1.4 对象-关系映射工具 \r\n 1.5 小结 \r\n第2章 快速上手 \r\n 2.1 准备工作 \r\n 2.2 Hibernate起步 \r\n 2.3 Hibernate体系结构 \r\n 2.4 Hibernate Tools \r\n 2.5 小结 \r\n第3章 对象/关系数据库映射 \r\n 3.1 映射定义 \r\n 3.2 映射文件生成 \r\n 3.3 对象标识符 \r\n 3.4 映射类型 \r\n 3.5 小结 \r\n第4章 关联关系与组件 \r\n 4.1 关联关系 \r\n 4.2 一对一关联 \r\n 4.3 一对多关联 \r\n 4.4 多对多关联 \r\n 4.5 检索策略 \r\n 4.6 组件映射 \r\n 4.7 传播性持久化 \r\n 4.8 小结 \r\n第5章 集合类映射 \r\n 5.1 集合 \r\n 5.2 映射Map \r\n 5.3 映射Set \r\n 5.4 映射List \r\n 5.5 映射Bag \r\n 5.6 集合排序 \r\n 5.7 小结 \r\n第6章 继承映射 \r\n 6.1 继承映射 \r\n 6.2 继承映射的几种策略 \r\n 6.3 小结 \r\n第7章 操作持久化对象 \r\n 7.1 持久对象的生命周期 \r\n 7.2 理解Session清理 \r\n 7.3 Session操作对象的方法 \r\n 7.4 传播性持久化 \r\n 7.5 小结 \r\n第8章 Hibernate查询 \r\n 8.1 Hibernate的查询方式 \r\n 8.2 查询实现 \r\n 8.3 过滤器 \r\n 8.4 Hibernate分页支持 \r\n 8.5 使用条件查询 \r\n 8.6 使用Native SQL查询 \r\n 8.7 查询优化 \r\n 8.8 小结 \r\n第9章 HQL查询语言 \r\n 9.1 HQL语言特点 \r\n 9.2 HQL查询构成 \r\n 9.3 小结 \r\n第10章 事务与并发 \r\n 10.1 事务概念 \r\n 10.2 声明事务边界 \r\n 10.3 事务与Session的关系 \r\n 10.4 事务隔离级别 \r\n 10.5 Hibernate并发控制 \r\n 10.6 最佳实践——怎样划分事务 \r\n 10.7 小结 \r\n第11章 理解Hibernate缓存 \r\n 11.1 缓存原理 \r\n 11.2 Hibernate缓存 \r\n 11.3 不要放任缓存增长\r\n 11.4 使用OSCache进行缓存\r\n 11.5 小结 \r\n第12章 通过Spring访问Hibernate \r\n 12.1 简化Hibernate使用难度 \r\n 12.2 Spring的Hibernate支持\r\n 12.3 Spring事务支持 \r\n 12.4 小结 \r\n第13章 DAO透明持久化 \r\n 13.1 DAO模式核心思想 \r\n 13.2 基于DAO模式的Hibernate设计\r\n 13.3 DAO设计策略 \r\n 13.4 DAO模式注意事项 \r\n 13.5 不要让应用局限于Hibernate \r\n 13.6 小结 \r\n第14章 Web应用中的Hibernate \r\n 14.1 Web应用分层中的Hibernate \r\n 14.2 Struts与Hibernate的最佳结合 \r\n 14.3 让分页不再是烦恼 \r\n 14.4 异常处理 \r\n 14.5 使用拦截器与事件 \r\n 14.6 Struts与Spring、Hibernate结合应用示例 \r\n 14.7 小结 \r\n第15章 Hibernate性能 \r\n 15.1 不要使Hibernate性能变成瓶颈 \r\n 15.2 不要掉入批量处理陷阱 \r\n 15.3 Web应用中的Hibernate优化 \r\n 15.4 考虑替代方案 \r\n 15.5 小结
为什么要写作本书
OR Mapping对象关系映射技术是Java领域和.NET领域中面向对象编程中的一个重大技术进步,在Java领域中已经得到广泛的应用。Hibernate是目前Java领域中最受欢迎的OR映射开源框架,Hibernate技术的出现使得程序员可以摆脱JDBC编程编写繁琐SQL语句的麻烦,可以使得程序员能将更多的精力应用于业务逻辑的设计。
而Hibernate使用的对象关系映射技术所带来的性能问题受到业界的普遍怀疑,其使用的查询机制、持久化、对象关联等技术使得Hibernate的使用更加方便,但是同时由于 使用不当也会带来严重的性能瓶颈问题。在Hibernate刚出现时,其便利性和优越性得到很多项目架构人员的青睐,但也正是由于其性能和不可预知问题而使项目架构人员望而却步。
本书正是站在客观评价这门持久化技术的角度,来分析Hibernate的基本构成,知识点及实现原理,汇总业界及作者在Hibernate应用方面的实践经验,分清Hibernate的优势和劣势,及可代替的解决方案,展示Hibernate对象关系映射技术的实质,总结Hibernate在项目开发中的最佳实践经验。使得读者能掌握Hibernate的基本理论知识,带领读者进入Hibernate对象关系映射技术视野的同时,更进一步掌握Hibernate的特性,学会在项目中如何运用,做到有能力驾驭运用Hibernate这门出色的对象关系映射技术,能了解Hibernate的优势和劣势,做到扬长避短,而不是顶礼膜拜。
本书内容组织
本书基于Hibernate 3,以Hibernate的知识点为主线,由浅入深,从对象-关系映射基础知识,到Hibernate的上手;从对象映射配置、对象关系映射、集合映射、继承映射、对象操作、对象查询、事务、缓存、到Spring继承Hibernate,DAO透明持久化及Hibernate在Web应用中的实践和Hibernate的性能优化,知识点逐步深入。
在知识点讲解过程中使用恰当的实例进行举证,从实例的运行结果中分析验证理论,这种表达方式将非常有利于读者的阅读理解。另外,在讲解过程中,结合实践经验给出这些知识点的运用技巧和注意事项,融入各知识点的最佳实践经验,深入每一个知识点的应用,对读者可能会产生疑惑的内容做精辟讲解,并纳入业界最佳解决方案,给出在不同场合下如何使用的建议。
书中融入大量Hibernate业界最佳实践经验,给出二层架构及Web三层架构中的持久化实现方案以及Hibernate的性能调优,使得读者可以轻松驾驭Hibernate应用于自己的项目实践中。本书的目的就是使读者在了解Hibernate的基本知识点的同时,能合适地运用Hibernate技术于不同场景的项目,更好地应用这门数据库持久化技术。
本书主要特色
现在市面上已经有一些Hibernate相关的书籍,但是本书和它们相比,有如下不同 之处:
(1)本书以Hibernate 3最新版本为基础讲解,兼顾Hibernate 3的最新知识点,及 JDK5的特性,并在讲解过程中不断回顾Hibernate 2的知识点。本书既适用于基于Hibernate 3开发,也适用于基于Hibernate 2开发的读者使用。
(2)本书内容以最佳实践为线索指导组织内容,不是一路高歌Hibernate的好处,而是站在客观的角度来评价这门技术,对Hibernate各方面知识点的优势和劣势做出客观的评价,并汇集业界运用Hibernate的最佳实践经验,融入书中内容,给出不同场合下该如何使用的建议。
(3)本书在知识点讲述过程中,充分使用实例进行举证,书中内容均给出实例代码,并给出实例的运行结果,对结果进行充分的分析。通过这些恰当的举例,读者很容易理解这些知识点。
(4)本书内容覆盖范围广,本书内容囊括Hibernate,XDoclet,DAO,Spring,iBATIS等知识点。众所周知,Hibernate不是单独使用的,需要整合到其他项目中去,对于如何整合到两层应用模式或Web应用的三层模式中,本书给出了最佳实践的方案。
(5)Spring出现后,其提供的对Hibernate的操作支持使得Hibernate的使用更方便,在实际项目中已经大量使用Spring和Hibernate来结合使用,本书对于如何集成Spring和Hibernate做了充分的讲述
(6)本书知识点包含大量的业界使用Hibernate的最佳实践经验、Hibernate性能优 化、周边应用集成等知识,这些知识点,能充分指导读者将Hibernate更好地应用到项目开发中。
本书内容结构
本书内容主要分三部分,第一部分是对象关系映射技术的基本理论及Hibernate 对象映射技术的基本知识点,第二部分讲解Hibernate技术的查询和事务、缓存等高级性能,第三部分是Hibernate业界应用的最佳实践经验,包括如何使用Spring集成Hibernate,使用DAO模式透明化持久层设计,Hibernate在Web应用中的最佳实践和Hibernate性能优化和如何使用iBATIS等技术来替代Hibernate。主要内容介绍如下。
第1章 主要讲述对象-关系映射的基本理论知识,包括软件分层设计和软件设计模型,对象关系映射的概念和工具。
第2章 以一个实例介绍如何开发Hibernate,讲述开发环境的搭建,Hibernate的基本构成和操作,开发Hibernate的工具,Hibernate Tools插件的使用。
第3章 讲述映射文件的定义,映射文件的结构和生成,以及如何使用XDoclet生成映射文件。
第4章 讲述对象间的关联关系映射,一对一关联,一对多关联,关联关系的检索策略,组件映射和传播性持久化的操作,以及关联关系映射和操作的最佳实践建议。
第5章 讲述集合类映射,Java中的集合和Hibernate的集合关系,映射Map、Set、List、Bag的添加、删除、更新、查询操作和集合排序等集合映射操作的最佳实践建议。
第6章 讲述继承映射,Hibernate下的继承映射关系,类和子类的继承映射和表存储的关系,并给出继承映射的最佳实践建议。
第7章 讲述Hibernate如何操纵持久化对象,以及对象的生命周期、瞬时对象、持久对象、脱管对象间的关系,给出Session清理和Session的save、get、update、delete、saveOrUpdate的操作方法和实践建议。
第8章 讲述Hibernate查询,包括条件查询、使用NativeSQL查询和Hibernate查询的优化、迭代查询、多对象查询、统计查询、绑定参数查询、Hibernate过滤器、Hibernate分页等重要知识点。
第9章 讲述Hibernate的HQL查询语言,及HQL的语言特点、语法和查询构成,包括JOIN、查询分组、子查询、批量操作等。
第10章 讲述Hibernate事务和并发,包括事务边界的概念、JDBC中的事务、JTA的事务和Hibernate的事务、Hibernate的并发控制、悲观锁定和乐观锁定、怎样划分事务等最佳实践。
第11章 讲述Hibernate的缓存,包括缓存的原理,Hibernate的一级缓存、二级缓存,给出最佳实践,二级缓存和查询缓存的应用。缓存是一个比较难以操作的配置,本章给出精确控制缓存失效的策略,和建议用户大数据量处理时一定要及时清理缓存,并给出了使用第三方OSCache进行缓存的使用。
第12章 讲述通过Spring访问Hibernate,讲述了使用Hibernate的难度,进行会话管理的难度,并给出了Spring对Hibernate的支持,Spring事务管理策略,Spring编程式事务管理和Spring声明式事务管理。
第13章 讲述使用DAO进行透明持久化,给出了基于DAO模式的Hibernate设 计,DAO设计策略,并建议不要盲目使用DAO模式,也不要让应用局限于Hibernate。
第14章 讲述Web应用中的Hibernate,讲述了Hibernate在Web应用中的层次,如何将Struts结合Hibernate开发,如何使用Hibernate页面分页,如何优化Web应用中的Hibernate性能。
第15章 讲述Hibernate的性能优化措施,讲述了Hibernate性能优化方向,使用连接池和缓存优化,执行查询优化,优化批量操作,结合多种持久化策略,和如何使用iBATIS和JdbcTemplate的替代方案。
本书是否适合您
进行数据库开发是J2EE开发的主要任务,是所有J2EE开发程序员必须掌握的技能。而使用Hibernate作为数据库桥梁的持久化工具,是目前在J2EE领域中最受欢迎,最 成熟,使用人员最广的技术,掌握Hibernate这门技术是所有从事J2EE开发人员的必备功课。
如果您是刚进入J2EE领域的开发新手,对Hibernate还不太了解,阅读本书,可以使您少走很多弯路。Hibernate是优越的,但是并不是完美的。在没有任何Hibernate使用经验的情况下,如何做到扬长避短,将Hibernate最优越的地方使用在项目中,本书的最佳实践经验会帮助您解决这个问题。本书是以Hibernate的知识点来组织内容的,所以您不用担心本书无法入门,正是充分照顾了入门级的读者,做到内容由浅入深,从理论到实践。
如果您已经在开发Hibernate应用方面有着丰富的经验,则可以把本书作为您必备的参考书籍。本书融入
无封面