很多时候,应用程序都需要对数据进行永久化的存储,特别是企业级应用中,更是需要存储大量的数据。关系数据库是目前主要的数据存储库。在应用程序的设计和实现中,面向对象的开发方法已经成为主流。在持久化数据的问题上,程序员不得不面对这种面向对象设计和关系数据库存储的不匹配所带来的问题,即ORM(Object Relation Mapping)问题。Java世界先后涌现出大量的持久层框架,目的就是让程序员以面向对象的思想来进行数据持久化工作,而把对象关系映射问题交给框架处理。其中,Hibernate是这些持久层框架中最著名的项目之一。
Hibernate提供了优秀的对象关系映射解决方案,在性能上也提供了许多优化策略,源代码开放,文档详细全面,接口简单,操作灵活,具有可扩展性,对JDBC仅做了轻量级封装,所以必要时还可以直接使用JDBC的API,而且,多种框架已经显式地对Hibernate提供了支持的接口。所有这些特点,都使得Hibernate成为当今最流行的持久层框架之一。目前Hibernate的最新版本为3.2版。
本书从Hibernate的入门程序开始讲解,然后一步步深入地介绍Hibernate的一些高级应用,最后介绍Hibernate官方网站介绍的一些结合Hibernate和其他流行框架技术的项目以及Hibernate的运用实例。本书可以分为3大部分。
第1部分为入门篇,包括第1章~第5章。其中,第1章说明了什么是Hibernate并阐述了Hibernate的优点;第2章介绍了Hibernate的入门程序;第3章介绍了Hibernate的体系结构和原理;第4章讲解了如何使用Hibernate进行对象关系映射;第5章讲解了如何进行对象的保存、更新、删除、检索等操作。通过这些章节的学习,读者对Hibernate整体有一个了解,并且将学会使用Hibernate进行简单的对象关系映射和数据操作等持久化对象的相关工作。
第2部分为提高篇,包括第6章~第10章。其中,第6章介绍了Hibernate的事务;第7章介绍了使用Hibernate的组件、动态类等高级的对象关系映射方式;第8章讲解了Criteria查询和Hibernate的关联检索方式;第9章介绍了Hibernate的二级缓存和查询缓存;第10章介绍了Hibernate的事件机制和拦截机制。通过这些章节的学习,读者将学会运用Hibernate的一些对象关系映射和数据检索的高级特性进行更灵活的持久化操作,并且学会选择和使用与Hibernate性能相关的缓存设置,以及使用Hibernate的扩展机制。
第3部分为实战篇,包括第11章~第16章。具体讲解了Hibernate官方网站推荐的Hibernate的多个相关技术项目。其中,第11章介绍了Hibernate Annotations;第12章介绍了Hibernate Validators;第13章介绍了Hibernate Tools;第14章介绍了Hibernate Search;第15章介绍了Hibernate和流行的应用程序框架Spring的结合使用方法;第16章介绍了一个结合Hibernate、Spring、Struts的项目实例。
本书讲解循序渐进,内容全面,并且在讲解每个知识点时都结合了案例代码进行解释,读者既能很容易地根据本书的章节安排入门,也可以较全面地对Hibernate进行学习。本书使用了Hibernate 3.2的最新版本进行介绍,内容包括了Hibernate 3.2的新特点。另外,实战篇中介绍的多个Hibernate和其他框架技术结合的项目,使得读者可以方便地学会如何结合Hibernate和其他项目进行开发。本书还配有完整案例源代码和安装软件环境配置指导,使得读者可以方便地进行学习。本书适合Hibernate的入门者,也适合对Hibernate有一定了解的读者在项目开发时进行查阅。
本书由黄佩虹和张冰晶编著。此外,张暘、曹川、杨丽娜、赵璇、鲍斌、季军、李伟、朱庆友、涂德志、王占富、周坤、沈永亮、张杨、杨明、司文峰、李长健、董军、黄锐等同志在项目案例编写上给予了编者很大的帮助,在此,对他们表示衷心的感谢。
由于时间仓促,加之水平有限,书中不足之处在所难免,敬请读者批评指正。
服务邮箱:wkservice@vip.163.com.
编 者
2008年10月
II
III