温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
Hibernate
逍遥
游记
内 容 简 介 1 Hibernate 是非常流行的对象-关系映射工具。本书由浅入深地介绍运用目前最成熟的 Hibernate 3.3 版本进行 Java 对象持久化的核心技术。本书主要介绍通过 Hibernate API 来访问数据库的方法,还介绍把 Java对象模型映射到关系数据模型的各种技巧、处理并发问题及实现对话的种种方案。本书将帮助读者编写出具有合理的软件架构,以及好的运行性能和并发性能的实用 Hibernate 应用。书中内容注重理论与实践相结合,列举大量具有典型性和实用价值的 Hibernate 应用实例,并提供详细的开发和部署步骤。随书配套光盘内容为本书所有范例源程序、本书涉及的软件的最新版本的安装程序。本书在表述方面,引入了中国传统文化中家喻户晓的西游记人物孙悟空,以他学习 Hibernate 为主线,以为花果山实现信息化为案例,带领读者逐步领略 Hibernate 技术的种种神通妙用,大大增加了书的趣味性。只要读者具备了 Java 基础知识,就能轻松阅读本书,快速掌握 Hibernate 技术。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 Hibernate 逍遥游记/孙卫琴编著.-北京:电子工业出版社,2010.7(Java 开发专家)ISBN 978-7-121-10967-6 .H.孙.JAVA 语言程序设计.TP312 中国版本图书馆 CIP 数据核字(2010)第 095549 号 责任编辑:郭 晶 何郑燕 文字编辑:田 蕾 印 刷:北京东光印刷厂 装 订:三河市皇庄路通装订厂 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:7871092 1/16 印张:21 字数:540.8 千字 彩插:1 印 次:2010 年 7 月第 1 次印刷 印 数:5 000 册 定价:43.80 元(含光盘 1 张)凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。热烈祝贺“开发专家之 Sun ONE”系列被评为电子工业出版社“最佳品牌奖”III“开发专家之 Sun ONE”全新提升为“Java 开发专家”系列 源自精品 成就理想 出 版 说 明 从“开发专家之 Sun ONE”到“Java 开发专家”“开发专家之 Sun ONE”系列丛书从诞生之日至今,已经九岁了。在这个系列里面,我们一直努力体现着这么一个理念:用一种较为敏锐的视角来跟踪 IT 技术的发展轨迹,并把可能为广大程序员所希望获得的知识,用图书出版的方式奉献给大家。在这个系列中,我们陆续出版了约 30 种图书,有Java 与模式、JSP 应用开发详解(第二版)、精通 EJB(第三版)、Tomcat 与 Java Web 应用开发详解、精通 Struts:基于 MVC 的 Java Web 设计与开发、JBoss 管理与开发核心技术(第三版)、精通Spring、精通 Hibernate:Java 对象持久化技术详解等一大批读者朋友耳熟能详的作品。很多作品都是在国内没有同类图书的情况下出版的。在这几年的出版工作中,我们时刻感受着市场的风险,也时刻收获着无数读者给我们的认可。在这个系列中,凝聚了大量资深技术专家的心血。有大家都熟知的阎宏、刘晓华、孙卫琴、罗时飞等,还有一些正在不断腾跃的开发高手。这些非常优秀的国内原创作者们一直都在支持着“开发专家之 Sun ONE”系列的出版工作,在这里,我们要向他们说声:谢谢。桃李不言,下自成蹊。由于这些年“开发专家之 Sun ONE”在“两个效益”中的杰出表现,电子工业出版社授予这个系列“最佳品牌奖”。时代不断前进,技术不断变革。为了顺应 Java 领域的技术发展态势,为了赋予这个经典的图书系列更强的生命力,我们将“开发专家之 Sun ONE”升级为“Java 开发专家”。我们将继承原有的出版理念,紧密跟踪技术热点和发展趋势,会聚更多优秀作者,全力奉献更经典的作品。规划你的 Java 开发之路 喜马拉雅山脉的最高峰不断地在温室效应中降低,而 Java 世界的颠峰永远都在技术人员的追求中不断升高。每个人都有不同的路,每个人都有不同的行路方式,不过,往往“到了山顶才发现,错误的路和正确的路就差那么几步!”身处 Java 洪流中的程序员最累(不过大家都说 Java 程序员薪水最高,呵呵),我们简单整理了一下 Java 领域的相关技术、工具、架构,如下图所示。这个框图中的每一个英文单词(或缩写)都可以写成一本书。Java 领域还有一个特点,那就是商业产品和开源产品层出不穷,潮流不断。相比于其他领域,如.NET,Java 开发更是体现了这句谚语:条条大路通罗马。Preface IV 罗马只有一个,大路却有多条。看上去,似乎到罗马很容易,反正路多嘛。不过,路多却容易迷失方向。当你在 Java 领域中摸爬滚打几年后,发现自己在无数条道路上走了很久,却不知道罗马何日才能到达,甚至连罗马的方向都不知道,这时你肯定会很失落。很遗憾,在这个简短的出版说明文章里面,我们无法告诉你每一条连贯的、不费周折的通往罗马的道路该如何走。或许,通过“Java 开发专家”系列中的某本书,你可以找到属于你的正确道路。在一般情况下,我们不会就某一项很窄的话题来单独写一本书,我们还是希望通过我们的一些专业和智慧,尽力把一些相关技术整合起来,用较为简明的方式表达出来,最后由你来选择。这里有句话与大家共勉:少走弯路,就是捷径!“Java 开发专家”的奉献 犹如在上面那个框图中展现的那样,我们希望在各个层面、各个方向上都能给读者奉献出优秀的图书作品,全面体现技术与应用的结合。从宏观上看,我们会从语言、IDE、环境、数据库、架构与应用、安全、项目与测试等方面进行选择,选出一些读者迫切需要的技术来先行规划。“Java 开发专家”虽然新蓓初绽,但因其源自盛放的“开发专家之 Sun ONE”系列而根基稳健,两个系列会有一段很长的并行时间,我们会用一种优化的方式来保证读者的顺利选择。无论哪一个系列,必定都有大家喜欢的图书。在技术上,有着持久化的方法,在学习上,也需要有持久化的精神。从“开发专家之 Sun ONE”到“Java 开发专家”,希望可以带给你持久化的动力。联系方式 咨询电话:(010)68134545 88254160 电子邮件: 服务网址:http:/ http:/ 通用网址:计算机图书、飞思、飞思教育、飞思科技、FECIT 前 言V在 Java 领域,访问关系数据库的最原始、最直接的方法是借助 JDBC API。这种方式的优点是运行效率高,缺点是在 Java 程序代码中嵌入大量 SQL 语句,使得项目难以维护。在开发具有分层结构的企业级 Java 应用时,如图 P-1 所示,可以通过 JDBC API来开发单独的持久化层,把数据库访问操作封装起来,提供简洁的 API,供业务逻辑层统一调用。但是,如果关系数据模型非常复杂,那么直接通过 JDBC API 来实现持久化层需要有专业的知识。对于企业应用的开发人员,花费大量时间从头开发自己的持久化层不是很可行。图 P-1 从业务逻辑层分离出单独的持久化层 幸运的是,目前在持久化层已经有好多种现成的持久化软件可供选用,有些是商业性的,如 TopLink;有些是非商业性的,如 JDO 和 Hibernate。Hibernate 是一个基于 Java 的开放源代码的持久化软件,它对 JDBC 做了轻量级封装,不仅提供ORM(Object Relation Mapping,对象-关系映射)服务,还提供数据查询和数据缓存功能,Java 开发人员可以方便地通过 Hibernate API 来操纵数据库。现在,越来越多的 Java 开发人员通过 Hibernate 来访问关系数据库,以节省和访问数据库有关的 30%的 JDBC 编程工作量。本书结合大量典型的实例,由浅入深地介绍运用目前最成熟的 Hibernate 3.3 版本来访问关系数据库的技术。本书在表述方面,引入了中国传统文化中家喻户晓的西游记人物孙悟空,以他学习 Hibernate 为主线,以为花果山实现信息化为案例,带领读者逐步领略Hibernate 技术的种种神通妙用,大大增加了书的趣味性。Foreword VI 本书的组织结构和主要内容 本书按照由浅入深、前后照应的顺序来安排内容,主要包含以下内容。1Hibernate入门(第 1 和第 2 章)第 1 和第 2 章为入门篇。第 1 章概要介绍访问关系数据库的各种途径,通过比较,帮助读者理解通过 Hibernate 来访问数据库的优势。第 2 章以一个简单的 Hibernate 应用实例monkeys 应用为例,引导读者把握设计、开发和部署 Hibernate 应用的整体流程,理解 Hibernate 在分层的软件结构中所处的位置。2对象-关系映射技术(第 3、4、5、8、9、10、11、12 和第 13 章)本书重点介绍的内容之一就是如何运用 Hibernate 工具,把对象模型映射到关系数据模型,相关章节包括:第 3 章:介绍对象-关系映射的基础知识。第 4 章:介绍对象标识符的映射方法。第 5 章:介绍一对多关联关系的映射方法。第 8 章:介绍组成关系的映射方法。第 9 章:介绍 Java 类型、SQL 类型和 Hibernate 映射类型之间的对应关系。第 10 章:介绍继承关系的映射方法。第 11 章:介绍 Java 集合类的用法,这一章主要是为第 12 章做铺垫的。第 12 章:介绍 Java 集合的映射方法。第 13 章:介绍一对一和多对多关联关系的映射方法。3通过Hibernate API操纵数据库(第 6 和第 16 章)第 6 章介绍运用 Hibernate API 来保存、更新、删除、加载或查询 Java 对象的方法,并介绍 Java 对象在持久化层的 4 种状态:临时状态、持久化状态、游离状态和删除状态。深入理解 Java 对象的 4 种状态及状态转化机制,是编写健壮的Hibernate 应用程序的必要条件。第 16 章介绍 Session 的生命周期的管理方式,以及会话的实现方式。这一章的内容将帮助读者简化 Hibernate 应用的程序代码,并且为应用设计合理的软件架构。4Hibernate的检索策略和检索方式(第 7 章)第 7 章介绍 Hibernate 的各种检索策略,对每一种检索策略,都介绍它的适用 ForewordVII场合。合理运用 Hibernate 的检索策略及检索技巧,是提高 Hibernate 应用性能的重要手段。第 7 章还介绍 HQL 查询语句的语法,以及 QBC API 的基本使用方法。5数据库事务与并发(第 14 和第 15 章)第 14 章先介绍数据库事务的概念,接着介绍运用 Hibernate API 来声明事务边界的方法。第 15 章介绍在并发环境中出现的各种并发问题,然后介绍采用悲观锁或乐观锁来避免并发问题的方法。本书的范例程序 为了使读者不但能掌握用 Hibernate 来持久化 Java 对象的理论,并且能迅速获得开发 Hibernate 应用的实际经验,完全掌握并会灵活运用 Hibernate 技术,本书几乎为每一章都提供了完整的 Hibernate 应用范例,在本书配套光盘中包含了所有范例源文件。为了方便初学者顺利地运行本书的范例,光盘上提供的所有范例程序都是可运行的。读者只要把它们复制到本地机器上,就能够运行,不需要再做额外的配置。此外,在每个范例的根目录下还提供了 ANT 工具的工程文件 build.xml,它用于编译和运行范例程序。这本书是否适合您 把 Java 对象持久化到关系数据库,几乎是所有企业 Java 应用必不可少的重要环节,因此本书适用于所有从事开发 J