标题：Hibernate基础教程
内容提要
本书深入浅出地介绍了轻量级开源框架Hibernate3的功能，叙述清晰，简洁明了。主要内容包括Hibernate的基本体系结构、如何使用Java5注解和基于XML的映射文件来表示映射信息，并讨论了HibernateSession对象和HQL的使用。本书结合大量实际代码，力图使读者能够更好地学习并掌握Hibernate的使用。本书适合Java开发人员阅读。
编辑推荐
本书介绍了轻量级开源框架Hibernate3的功能，主要内容包括Hibernate的基本体系结构、如何使用Java5注解和基于XML的映射文件来表示映射信息，并讨论了HibernateSession对象和HQL的使用。本书适合Java开发人员阅读。
AmazonHibernate最佳入门书；
化繁为简，生动透彻；
涵盖最新版本3.2X。
“使用Hibernate并非易事，本书透彻地阐述了Hibernate的原理与应用，并配有大量实战代码，能够使新用户非常轻松地入门。”
——RegDeveloper.co.uk
“在受挫于其他几本Hibernate入门书之后，我购买了本书并最终彻底参透了Hibernate。作者拥有非常出众的天赋，能够清晰而到位地解释复杂的技术问题。强烈推荐Hibernate新手和具有一定经验的开发人员阅读！”
要开发涉及大量数据库操作的应用程序，Hibernate这一当今最流行的Java对象-关系映射框架无疑已成为首选。本书全面介绍了最新版本——Hibernate3.2X，并清晰地阐述了最新的Java持久化标准——JavaPersistenceAPL。
与其他Hibernate基础图书不同的是，本书主要围绕着许多深入而贴近实战的示例讲述，由简入难，循序渐进，生动易懂，充分体现了两位作者丰富的开发和写作经验。而且，书中没有像许多其他图书那样，喧宾夺主地介绍许多并非Hibernate开发所必需的其他Java框架，分散读者的注意力，而力求讲通讲透，使初学者也能够迅速地构建复杂的基于事务的应用程序。
目录
第1章Hibernate 3简介…………………
1．1 POJ0………………………………………………
1．2 Hibernate和对象一关系映射的起源…··
1．2．1 EJB作为持久化解决方案……·
1．2．2 Hibernate作为持久化解决方案
1．2．3瘦解决方案……………………
l-3 Hibernate Hello World示例……………
1．4映射……………………………………
1．5数据库的生成…………………………
1．6 Hibernate 3与EJB 3．0的关系………
1．7小结………………………………………………
第2章 集成和配置H．bernate…………
2．1集成和配置Hibernate所需的步骤……
2．2 了解Java应用程序中的什么地方
、 适合使用Hibernate……………………
2．3 部署Hibemate…………………………………
2．3．1运行Hibernate 3所需的库……
2．3．2注解和EJB 3…………………
2．3．3 JMX弄口Hibernate……
2．4 Hibernate配置…………………………
， 2．4．1 Hibernate属性…………………
2．4．2 XML配置………………………
2．4．3映射文档………………………
2．4．4命名策略………………………
2．4．5使用容器管理的数据源………
2．5会话工厂………………-………………
2．6 SQL方言………………………………………
2．7小结……………·…………………………………
第3章构建简单的应用程序……………
3．1 安装工具………………………………
3．1．1 Hibernate和Hibernate Tools。
3．1．2 HSQLDB 1．8．0…………………
3．1．3 Ant 1．6．5……………………………
3．1．4 Ant任务……………………
3．1．5启用日志记录………………
3．2创建Hibernate配置文件……………
3．3运行Message示例…………………
3．4对多个对象进行持久化……………
3．5创建持久化类………………………
3．6创建对象映射………………………
3．7创建表………………………………
3．8会话…………………………………
3．8．1会话和相关的对象…………·
3．8．2 使用会话…………………………
3．9构建DAO……………………………
3．10示例客户机………………………
3．1 1 小结…………………………………………
第4章持久化生命周期……………
4．1生命周期简介………………………
4．2实体、类和名称……………………
4．3标识符………………………………
4．4实体和关联…………………………
4．5保存实体……………………………
4．6对象相等性和同一性………………
4．7加载实体……………………………
4．8刷新实体……………………………
4．9更新实体……………………………
4．10删除实体…………………………
4．1 1级联操作…………………………
4．12延迟加载、代理和集合包装器……
4．13查询对象………………·…………·
4．14小结……………………………………·
第5章映射概述……………………………
5．1 映射为什么无法自动化…………………
5．2主键…………………………………………………
5．3延迟加载…………………………………
5．4关联………………………………………
5．4．1一对一关联………………………
5．4．2一对多和多对一关联…………
5．4．3 多对多关联………………………
5．4．4应用映射来建立关联…………
5．5映射的类型……………………………
5．6在映射中可以表示的其他信息………
5．6．1指定数据库列类型和大小……
5．6．2将继承关系映射到数据库……
5．6．3主键……………·………………………
5．6．4使用基于SQL公式的属性……
5．6．5必需约束和唯一约束…………
5．6．6操作的级联……………………
5．7小结……………………………………
第6章用注解进行映射…………………
6．1 Java 5特性………………………………
6．2用注解创建Hibernate映射……………
6．2．1注解的缺点……………………
6．2．2注解的优点……………………
6．2．3选用哪种方法…………………
6．2．4在应用程序中使用注解………
6．2．5 EJB 3持久化注解………………
6．2．6用SEntity标出实体bean……
6．2．7用[aid和@GeneratedVal ue标出
主键………………………………………
6．2．8用@SequenceGenerator生成
主键值·……………·…·…………
6．2．9用[aTabl eGenerator生成主键值…
6．2．10用@Id、@IdClass和@Embeddedld
组合主键………·………………
6．2．11 用[aTabl e和@SecondaryTabl e
进行数据库表映射……………
6．2．12用@Basic对基本类型进行
持久化………·…·……………
6．2．13用针ransient避免持久化………
6．2．14用@Col umn映射属性和字段……
6．2．15对实体关系进行建模…………·
6．2．16继承………………………………………
6．2．17其他EJB 3持久化注解………
6．3配置带注解的类…………………………
6．4 Hibernate 3特有的持久化注解…………
6．4．1@Entity……………………………………
6．4．2用@Sort对集合进行排序………·
6．4．3用@IndexColumn指定集合次序…·
6．4．4通过@Table和@Index应用索引…
6．4．5用@Where限制集合………………
6．4．6用[aGeneri cGenerator指定替换的
键生成策略……………………
6．5结合使用Ant和基于注解的映射……
6．6代码清单………………………………
6．7小结…………………·………………………………
第7章 用HIbernate XML文件创建
映射…………………………………
7．1 Hibernate类型…………………………·
7．1．1 实体………………………………………·
7．1．2组件………·………………………………
7．1．3值…·………………………………………·
7．2分析映射文件…………………………··
7．2．1<hibernate—mappmg>元素………
7．2．2<cl ass>元素……………………·
7．2．3<id〉元素…………………………………
7．2．4<property>元素…………………
7．2．5<component>元素…………………
7．2．6<one—to—one>元素………………·
7．2．7<many—t0一one>元素…………………
7．2．8集合元素………………………
7．3对简单类进行映射……………………
7．4对组合进行映射………………………
7．5对其他关联进行映射…………………
7．6对集合进行映射………………………
7．7对继承关系进行映射…………………
7．7．1每个具体类一个表……………
7．7．2每个子类一个表………………·
7．7．3每个类层次结构一个表…·
7．8其他映射…………………………
7．8．1 any标记…………………………
7．8．2 array标记………………………
7．8．3<dynamlc—component>元素…
7．9小结…………………………………………
第8章使用会话……………………一
8．1会话………………………………
8．2事务和锁…………………………
8．2．1事务………………………
8．2．2锁………………·…………………
8．2．3死锁………………………………
8．3缓存………………………………
8．4线程………………………………
8．5 小结………………………………………-
第9章搜索和查询…………………·
9．1 HQL………………………………
9．2语法基础…………………………
9．2．1 UPDATE……………………………
9．2．2 DELETE
9．2．3 INSERT……………………
9．2．4 SELECT……………………………
9．3第一个HQL示例………………·
9．4在曰志中记录底层SQL…………
9．5 from子句和别名…………………
9．6 sel ect子句和投影………………
9．7用HQL进行限制………………·
9．8使用命名参数……………………
9．9对结果集进行分页………………
9．10获取唯一的结果………………
9．1 1用order by子句对结果排序…_·
9．12关联……………………………_
9．13用HQL进行批量更新…………
9．14 HQL和SQL命名查询………．．
9．15使用原生SQL…………………
9．16小结……………………………_
第10章使用条件的高级查询……
10．1 Criteria API…
10．1．1用条件进行限制……………
10．1．2对结果集进行分页…………
10．13获取唯一的结果……………
10．1．4对查询的结果排序…………
10．1．5关联…………………………………
10．1．6不重复的结果………………
10．1．7投影和统计………………
10．1．8 QBE…………
10．2小结………·…………………………………
第11章对搜索结果进行过滤………
11．1 何时应该使用过滤器………………·
1 1．2定义过滤器…………………………
113在应用程序中使用过滤器…………·
1 1．4基本的过滤示例……………………
11．5 小结…………………………………
附录A高级特性…………………………·
．A．1 EJB 3和EmityManager……………
A．2管理版本化和乐观锁………………
A．3 XML关系持久化……………………
A．3．1在映射中添加节点信息……·
A．3．2导出XML实体……………
A．3．3导入XML实体……………
A．3．4在使用XML实体时的其他
考虑因素……………………
A．4映射…………………………………
A．5 Hibemate的限制……………………·
A．6手工编写的SQL……………………
A．6．1使用直接映射………………
A．6．2使用视图……………………
A．6．3在映射中插入SQL…………
A．7调用存储过程………………………
A．8事件…………………………………
A．9拦截器………………………………
A．IO覆盖默认的构造器…………………
A．1 l 小结………………………………··
附录B Hibernate Too!s…………………
B．1 Eclipse插件…………………………
B．1．1安装插件……………………
B．1．2项目配置样板……………．
B．1.3使用Hibemate Console……
B．2 Ant任务…………………………．．
B．2．1 Ant任务的工作方式……
B．2．2反向工程…………………………
B．2．3模板………………………．
B．2．4配置类路径………………
B．3小结………………………………
附录C H．bernate和SDrlng…………
C．1 Spring库…………………………
C．2从Spring应用程序配置Hibernate-
C．3在Spring bean中使用Hibernate
C．4声明式事务管理……………
C．5管理会话…………………
C．6配置文件示例……………
C．7小结…………·……………………
附录D从Hibernate 2升级…
D．1包和DTD的变化…………[1]
D．2新特性和对老特性的支持-·
D．2．1 改变和废弃的特性
D．2．2增加的特性………·
D．3工具和库的变化…………
D．4 Java 5带来的变化…………
D．5小结………………………………
索引………………………………