Java Persistence with Hibernate中文版Hibernate实战第2版出版

YuLimin IBM 高级软件工程师  2008-04-06 07:39:50
Java Persistence with Hibernate中文版Hibernate实战第2版出版


图灵出版社官方Hibernate实战(第2版)链接为:
http://www.turingbook.com/Books/ShowBook.aspx?BookID=260

书  名: Hibernate实战(第2版)
评论星级: ****
书  号: 978-7-115-17448-2
原 书 名: Java Persistence with Hibernate
原出版社: Manning Publications
丛 书 名: 图灵程序设计丛书
分  类: 计算机 >> 程序设计 >> Java
作  者: Christian Bauer, Gavin King
译  者: 杨春花 彭永康 俞黎敏
出版日期: 2008年3月
语  种: 简体中文
开  本: 16开
页  数: 640
定  价: 99.00 元人民币

摘要
  本书全面讲述了Hibernate和Java Persistence,并对两者进行了详细的对比分析。书中通过一个应用将数百个例子融合起来,不仅深入剖析了Hibernate 3.2和Java Persistence丰富的编程模型,还深刻阐述了数据库设计、对象/关系映射(ORM)和优化等方面的基本原则、策略和最佳实践。书中处处闪烁着作者超凡的真知灼见,将大大升华读者对ORM乃至企业级应用开发的理解。
  本书适合广大的开发人员,从ORM的初学者到经验丰富的开发人员。

序言
第1版序
  毋庸置疑,关系数据库是现代企业的核心。
  包括Java在内的现代程序设计语言,提供了应用程序级业务实体的直观、面向对象的视图,但这些业务实体底层的企业数据本质上是密切相关的。此外,相对于早期的导航模型以及后来的OODB模型,关系模型的主要优势在于,它被设计为与其提供数据的编程处理和应用程序级视图在本质上是无关的。
  许多人已经做了很多尝试来搭建关系和面向对象技术之间的桥梁,或者用一个取代另一个,但是这两者之间的差异是当今企业计算面临的难点之一。通过其ORM方法,Hibernate架起了关系型数据和Java对象之间的桥梁。Hibernate是以一种非常实际、直接并且现实的方式来迎合这一挑战的。
  正如Christian Bauer和Gavin King在书中所述,除了最简单的企业环境之外,最有效地应用ORM技术要求理解关系型数据和对象以及它们之间的中介的工作原理,并对中介进行配置。这要求开发人员通晓应用程序及其数据需求,以及SQL查询语言、关系存储结构和关系技术提供的最优化潜能。
  Hibernate不仅提供了一个应对这些需求的功能齐全的解决方案,而且还提供了一个灵活的可配置的架构。Hibernate开发人员专注于设计,并使它具有模块化、可热插拔、可扩展以及可用户定制等特点。结果,在它最初发布的几年里,Hibernate迅速变成了企业开发人员所适用的一种前沿ORM技术——这也是理所当然的。
  本书全面概括了Hibernate,涵盖了如何利用它的类型映射能力和工具来为关联和继承建模;如何利用Hibernate查询语言有效地获取对象;如何在托管和非托管环境下配置Hibernate;以及如何使用它的工具。此外,本书还提供了对ORM深层问题和Hibernate背后设计选择的深刻见解。这些见解可以让读者对ORM作为一种企业技术的有效应用有深刻的理解。
  Hibernate in Action是当今企业计算中利用Hibernate和ORM的权威指南。

                                  Linda Demichiel
                               (Sun公司,EJB首席架构师)


第2版序
  两年前,Hibernate in Action一出版就被公认为是关于Hibernate的权威性图书,同时它也成为了ORM(对象/关系映射)方面的权威之作。
  之后,持久化(persistence)的前景也随着JPA(Java Persistence API)的发布而改变,这个新标准用以解决Java EE和Java SE的ORM,并在Java Community Process的主导下开发,成为EJB 3.0规范的一部分。
  在JPA的开发过程中,EJB 3.0专家组从已经在Java社区应用的ORM框架的经验中受益颇丰。Hibernate作为先驱者之一,已经对Java Persistence技术的导向产生了非常显著的影响力。这不仅是由于有Gavin King和EJB 3.0标准化成果的其他Hibernate团队成员的参与,很大程度上还归功于Hibernate带给ORM的直接且实用的方法,以及其API的简单、清楚和强大——因此它们的结果激励了Java社区。
  除了对Java Persistence的贡献之外,Hibernate的开发人员还使得Hibernate有了很大进展,这体现在本书所描述的Hibernate 3中。这些进展包括支持对大型数据集的操作、特别适用处理遗留数据库的额外和更复杂的映射选项、数据过滤器、管理对话的策略,以及与利用JSF和EJB 3.0进行Web应用程序开发的新框架Seam的集成。
  因此,本书远远不只是Hibernate in Action的第2版。它全面概括了所有JPA的功能和Hibernate 3的功能,并对这两者进行了详细的对比分析。它描述了如何使用Hibernate实现Java Persistence标准,以及如何利用Hibernate扩展来实现Java Persistence。
  更重要的是,在介绍Hibernate和Java Persistence的过程中,Christian Bauer和Gavin King举例并解释了在设计和使用ORM框架时需要考虑到的一些基本原则和决策。他们对ORM深层问题的深刻见解,让读者对于ORM作为一种企业技术的有效应用有了深刻的理解。
  因此,本书适合广大的开发人员,从ORM的初学者到经验丰富的开发人员,帮助他们学习更多在Java社区中已经出现和正在继续出现的尖端技术。

                                  Linda Demichiel
                       (Sun公司规范主管,EJB 3.0和Java Persistence首席架构师)

推 荐 序 一
  Hibernate持久化框架已经诞生6年了,在这期间,Hibernate从当初不为人知的开源软件,到现在成为Java编程语言在操作关系数据库方面的持久化框架的统治者,不能不说是一个奇迹。
  Java的持久化操作最早要追溯到1996年发布的JDBC接口。当时,JDBC是一个借鉴了ODBC标准,采用纯Java编写的数据库持久化接口。因为JDBC可以用同样的方式存取大多数主流关系数据库,可以做到操作系统无关、数据库无关、纯Java编写,且具备良好的可移植性,因此JDBC发布之后获得了极大的成功,时至今日,它还是Java程序员最常用的API之一。但是对程序员来说,JDBC API显得非常笨拙,如果数据库字段比较多,编写起来非常麻烦,代码量很大,而且不容易维护。因此,为了简化JDBC编程,随后又出现了很多基于JDBC的持久化框架,而Hibernate正是其中的佼佼者。
  在Hibernate出现之前,最主流的持久化框架是1999年发布的EJB 1.1的实体bean,特别是在2001年EJB 2.0规范引入本地接口之后,一直到2003年,实体bean变得非常流行,成为应用服务器厂商力推的产品卖点之一。这段时间Java企业应用开发言必称EJB,好像不用EJB都显得不入流,你都不好意思说自己是Java高级程序员。但是,实体bean在持久化方面并没有起到积极的作用,反而极大增加了持久化代码的复杂度,因而逐渐被越来越多的开发人员反对和抛弃。
  2001年,澳大利亚墨尔本一位名为Gavin King的27岁Java程序员,上街买了一本SQL编程的书,他厌倦了实体bean,认为自己可以开发出一个符合对象关系映射理论,并且真正好用的Java持久层框架,因此他需要先好好学习一下SQL。这一年的11月,Hibernate的第一个版本发布了。在整个2002年,实体bean还是万众瞩目的焦点,但是已经有很多人开始关注和使用Hibernate了。
  2003年9月,Hibernate开发团队进入JBoss公司,开始全职开发Hibernate,从这个时候开始,Hibernate得到了突飞猛进的普及和发展。2004年,整个Java社区开始从实体bean向Hibernate转移,特别是在Rod Johnson的著作Expert One-on-One J2EE Development without EJB出版后,由于这本书以扎实的理论、充分的论据和翔实的论述否定了EJB,提出了轻量级敏捷开发理念之后,以Hibernate和Spring为代表的轻量级开源框架开始成为Java世界的主流和事实标准,Hibernate开始大红大紫。在2004年Sun领导的J2EE 5.0标准制定委员会当中,Gavin King已经是实体bean下一代标准的主要制定者,而J2EE 5.0标准当中的持久化框架标准正是以Hibernate为蓝本的。当2006年J2EE 5.0标准正式发布以后,持久化框架标准Java Persistent API(简称JPA)基本上是参考Hibernate实现的,而Hibernate从3.2版本开始,已经完全兼容JPA标准,成为最主流的JPA框架。
  我是在2003年3月知道Hibernate框架的,当时我正在寻找一个可以替代实体bean的Java持久层框架,在考察了众多开源项目之后,发现Hibernate正是可以满足我需求的框架,因此在随后的几个项目当中使用了Hibernate,并且获得了比较满意的效果。在2003年,虽然Hibernate在国外已经是非常有名气的Java开源框架,但是企业应用开发的主流仍然是EJB,因此国内的Java社区非常排斥这种既非J2EE官方标准,又没有大厂商支持的“草根”框架Hibernate。由于找不到一个可以交流Hibernate编程经验的地方,我萌生了自己创建一个Hibernate交流社区的想法,并在2003年9月11日凌晨正式开通了公共交流论坛,这就是JavaEye网站诞生的由来。JavaEye在2003年是国内唯一交流Hibernate的技术网站,不夸张地说,为国内推广和普及Hibernate立下了汗马功劳,影响了一大批Java开发人员。时至今日,JavaEye网站已经成为国内仅次于CSDN的第二大软件开发者交流社区。虽然JavaEye早已经不再是一个单纯的Hibernate技术讨论区,但是当初如果没有Hibernate的缘故,今天就不会有JavaEye网站了。
  根据我四年多的Hibernate编程经验,Hibernate并不是一个非常易学易用的框架,它的掌握难度要远远高于同样十分流行的Spring框架。由于对象的持久化操作本身就包含非常多的概念和难点,运用不善还很容易导致性能低下,因此尽管现在Hibernate在国内已经非常普及和流行了,几乎每个软件公司在招聘Java程序员的时候都要求掌握Hibernate,但实事求是地讲,能把Hibernate用好的Java程序员凤毛麟角,在JavaEye网站上对Hibernate的置疑声音也从来就没有停歇过。其实善于使用Hibernate,能把Hibernate用好的案例也有不少,比如Google公司就在一些非常大规模的项目当中使用了Hibernate和WebWork框架(有传言说是Adwords项目,但我没有考证过),并且贡献了基于Hibernate的Hibernate Shards开源项目和从WebWork项目当中抽取出来的Google Guice开源项目。
  因此要想把Hibernate用好,对于Hibernate框架的很多重要的运用细节需要非常的了解和熟悉,除了在项目当中摸索和总结Hibernate使用经验之外,由Gavin King共同执笔编写的这本书就是最好和最权威的Hibernate指南。这本书的第1版叫做Hibernate in Action,在Amazon上销量很好,但是由于版权问题,很遗憾未能引入国内。而本书的第2版,即现在这版已经是结合了最新的JPA标准的Hibernate指南,既详细讲述JPA标准的方方面面,又讲述Hibernate框架的各个重要的细节用法,不但对于使用Hibernate的开发人员来是不可或缺的参考书,同样对于使用其他JPA实现的开发人员来说,也是重要的参考。

                      范凯(Robbin),JavaEye网站创始人
                    http://www.JavaEye.com


推 荐 序 二
  Hibernate自2001年诞生以来,在Java的ORM领域几乎已经成为事实的标准。“掌握Hibernate”已经近乎成为使用Java的软件公司招聘程序员的一个基本要求。之所以形成这一流行做法,有Hibernate本身优秀的理念、成熟的设计与广泛的正面使用体验的因素,也有Hibernate本身的开源、免费的因素,尤其重要的是它包含内容丰富、更新及时的文档。
  正因为Hibernate本身基于LGPL开源,我翻译了其2.0版本的文档。该文档在网上公开后获得了始料未及的反应,并且由于Hibernate社区的开放性,它被作为Hibernate文档的正式中文翻译版本纳入了其源代码管理,这是对我翻译工作的最好肯定。正因为其广泛的流传,在Hibernate 3.0版本发布的时候,得以组织起20余人的团队,在短短的三周时间内就推出了经过审校的质量相当高的文档翻译版本,并且不断根据新版本的发布进行更新。仅在“满江红”主站,这一版本就有超过15万次的PDF下载量,HTML版本访问量更是数百万次计。这一中文版本的文档形成了学习Hibernate的良好氛围,对其普及做出了极为重要的贡献,也直接促成了“满江红开放技术研究组织”的成立,同时对后续的很多文档的发布产生了非常积极的示范效应。
  但是,官方文档仅有200余页,着重描述的是对其使用参数的设置说明,以及对HQL、关联等概念的使用说明,解释“如何做”而非“为何要这样做”,这对广大学习者仍然有较大的学习障碍。Hibernate的原作者Gavin King和Christian Bauer编写了Hibernate in Action(即《Hibernate实战》第1版)一书对其进行了详细的解释。该书英文版一推出,我们就开始了翻译工作,但是后来因版权问题,没能第一时间引进,这实在是一大憾事。
  你现在手中的这本《Hibernate实战(第2版)》就是对Hibernate in Action的深化升级。这本书的优点在于其实用性,加入了大量的图片和示例辅助说明,比Hibernate随附的文档要清晰明了得多,其英文版我也一直放在电脑包中随身携带,作为速查手册使用。这是一本“高级版文档”和权威的学习指南。
  本书是由俞黎敏组织并翻译、审校的。俞黎敏长期工作在开发第一线,对Hibernate有深刻的理解,是“满江红”的管理员之一,也是Gavin King新项目Seam的中文文档翻译负责人。他对本书的理解相当到位,翻译准确度很高。本书正弥补了当初没有能成功引进Hibernate in Action的遗憾。在此对他表示由衷的祝贺。
  Java作为目前的主流开发语言,Hibernate和JPA仍然具有长期的生命力。希望本书能够进一步推进Hibernate和JPA在国内的应用。

                      曹晓钢
                “满江红开放技术研发组织”共同创始人
                    http://www.redsaga.com

网上书店购买(会陆续增加):
中国互动出版网:http://www.china-pub.com/39339

当当网:http://product.dangdang.com/product.aspx?product_id=20176084

第二书店:http://www.dearbook.com.cn/book/246425

卓越亚马逊:http://www.amazon.cn/mn/detailApp?qid=1207478964&ref=SR&sr=1-2&uid=168-9862294-4341803&prodid=bkbk823242

新风雨:http://www.cnforyou.com/query/bookdetail1.asp?viBookCode=9015
...全文
617 61 打赏 收藏 举报
写回复
61 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhangyou1010 2010-12-05
老贴,顶起,最近在看英文版的,感觉很吃力。
  • 打赏
  • 举报
回复
grandyhwang 2008-08-04
支持!!!
  • 打赏
  • 举报
回复
imasmallbird 2008-08-04
顶起!!
  • 打赏
  • 举报
回复
weiqiyiji 2008-08-03
其实英文原版也不错
有一定英文基础的可以考虑看下
至少说这本书的原版是我见过最好的hibernate书
  • 打赏
  • 举报
回复
ZangXT 2008-08-03
看英文版的了。
  • 打赏
  • 举报
回复
wtalcmhilary 2008-08-03
有点贵哦
  • 打赏
  • 举报
回复
vstian 2008-08-02
[Quote=引用 34 楼 whetu 的回复:]
狂顶
[/Quote]
  • 打赏
  • 举报
回复
findself 2008-08-02
说得手痒痒的,包里的钱估计保不住了...
  • 打赏
  • 举报
回复
matrix1984 2008-08-01
看起来好好哦,有空去买一本。。。
  • 打赏
  • 举报
回复
开跑车的猪 2008-08-01
谢谢推荐,顶...
  • 打赏
  • 举报
回复
jdlsfl 2008-07-28
[Quote=引用 50 楼 feishx 的回复:]
谢谢推荐
[/Quote]
  • 打赏
  • 举报
回复
feishx 2008-07-13
谢谢推荐
  • 打赏
  • 举报
回复
fengsky491 2008-07-12
[Quote=引用 43 楼 hepeng19861212 的回复:]
99.00 元人民币
贵了点
[/Quote]
  • 打赏
  • 举报
回复
jdlsfl 2008-07-11
[Quote=引用 2 楼 lispoy 的回复:]
支持一下
[/Quote]
  • 打赏
  • 举报
回复
Shine_Panda 2008-07-11
支持个。。。。。。。。。
可惜 也没有时间去看。
  • 打赏
  • 举报
回复
interpb 2008-07-11
[Quote=引用 38 楼 YuLimin 的回复:]
司令送出十多本书,目前为止,只收到一位朋友的书评,在douban上,其它的,哎,不说了。。。。。。
[/Quote]

实在不好意思 最近没有时间看
准备掏钱了 不然就是自己rp问题了
  • 打赏
  • 举报
回复
yooooyiiiiiiiiii 2008-07-07
up!!!
ps:适合初级or中级or高级?
  • 打赏
  • 举报
回复
hepeng19861212 2008-07-06
99.00 元人民币
贵了点
  • 打赏
  • 举报
回复
YuLimin 2008-07-06
@wlh86618
把一些你认识不好理解的发邮件给我。
  • 打赏
  • 举报
回复
bootupnow 2008-07-06
mark
  • 打赏
  • 举报
回复
加载更多回复
相关推荐
发帖
Java EE
加入

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
申请成为版主
帖子事件
创建了帖子
2008-04-06 07:39
社区公告
暂无公告