第1篇 Hibernate 入门
第1章 对象关系映射基础
1.1 对象持久化
1.2 对象-关系映射
1.3 对象持久化的实现模式
1.3.1主动域对象模式
1.3.2 CMP模式
1.3.3 JDO模式
1.4 感受ORM
1.4.1 JDBC操作数据库
1.4.2 Hibernate操作数据库
1.4.3 两种技术的比较
1.5 小结
1.6 习题
第2章 Hibernate简介
2.1 中间件
2.1.1 中间件的概念
2.1.2 中间件的分类
2.2 Hibernate简介
2.2.1 Hibernate3产品套件简介
2.2.2 Hibernate的核心接口
2.2.3 Hibernate3的新特性
2.2.4 Hibernate的发展趋势
2.3 其他持久层框架
2.4 小结
2.5 习题
第2篇 Hibernate开发快速上手
第3章 Hibernate的安装与配置
3.1 开发环境介绍
3.1.1 Eclipse
3.1.2 Tomcat
3.1.3 Microsoft SQL Server
3.1.4 本书的相关约定
3.2 开发环境的搭建
3.2.1 搭建开发平台
3.2.2 下载Hibernate
3.2.3 设置用户库
3.3 Hibernate配置
3.3.1 Hibernate配置文件
3.3.2 可编程的配置方式
3.3.3 可选的配置属性
3.3.4 日志配置
3.3.5 数据库连接池配置
3.4 小结
3.5 习题
第4章 第一个Hibernate程序
4.1 Hibernate基础文件讲解
4.1.1 Hibernate配置文件
4.1.2 数据库Schema
4.1.3 持久化类
4.1.4 映射文件
4.2 Hibernate工具简介
4.2.1 Middlegen-Hibernate
4.2.2 Hibernate-Extension之hbm2java和class2hbm
4.2.3 Hibernate的内置工具hbm2dll
4.2.4 Hibernate工具包
4.2.5 基础文件的生成路线
4.2.6 Hibernate和Ant示例
4.3 Hello World应用程序
4.3.1 创建数据库表
4.3.2 创建Java工程
4.3.3 创建Hibernate基础文件
4.3.4 Hello World程序实现
4.4 小结
4.5 习题
第3篇 Hibernate应用开发
第5章 映射定义与映射类型
5.1 Hibernate的映射定义
5.1.1 XML文件头
5.1.2 hibernate-mapping根元素
5.1.3 class元素定义持久化类
5.1.4 id元素定义持久化标志符
5.1.5 generator子元素定义持久化标志符的生成策略
5.1.6 持久化标志符生成策略示例
5.1.7 composite-id元素映射复合主键
5.1.8 property元素定义持久化类的属性
5.1.9 其他元素
5.2 Hibernate的映射类型
5.2.1 Hibernate的内置基本映射类型
5.2.2 用户自定义映射类型
5.3 小结
5.4 习题
第6章 持久化对象
6.1 持久化类
6.2 Hibernate对象状态
6.2.1 瞬时(Transient)状态
6.2.2 持久(Persistent)状态
6.2.3 脱管(Detached)状态
6.2.4 状态转换关系
6.3 Session方法简介
6.3.1 save()方法
6.3.2 load()和get()方法
6.3.3 update()方法
6.3.4 saveOrUpdate()方法
6.3.5 delete()方法
6.3.6 其他方法
6.4 Session的缓存
6.5 持久化对象的级联操作
6.6 Hibernate的二级缓存
6.6.1 持久化层的缓存的范围
6.6.2 持久化层的缓存的并发访问策略
6.6.3 Hibernate的二级缓存
6.7 小结
6.8 习题
第7章 集合类映射
7.1 概述
7.1.1 Java集合类简介
7.1.2 Hibernate中的集合类映射
7.2 集合类映射
7.2.1 集合类映射的定义
7.2.2 综合示例
7.3 小结
7.4 习题
第8章 关联关系映射
8.1 基础知识
8.1.1 实体—关系模型
8.1.2 类之间的关系
8.2 关联关系映射
8.2.1 单向多对一关联
8.2.2 双向多对一关联
8.2.3 单向一对一关联
8.2.4 双向一对一关联
8.2.5 单向多对多关联
8.2.6 双向多对多关联
8.3 小结
8.4 习题
第9章 继承映射
9.1 概述
9.2 每个类分层结构一张表
9.3 每个子类一张表
9.4 每个具体类一张表
9.5 小结
9.6 习题
第10章 组件映射
10.1 概述
10.2 映射组件
10.3 映射组件集合
10.4 组件作为联合主键
10.5 小结
10.6 习题
第11章 HQL查询语言
11.1 select子句
11.2 from子句
11.3 关联与连接
11.3.1 标准SQL的连接查询
11.3.2 HQL的连接查询
11.4 where子句
11.5 order by子句
11.6 group by子句
11.7 子查询
11.8 批量的update和delete
11.9 其他
11.10 小结
11.11 习题
第12章 事务与并发
12.1 数据库的事务与并发
12.1.1 数据库事务
12.1.2 数据库并发产生的问题
12.1.3 数据库锁与封锁协议
12.1.4 数据库的死锁
12.1.5 数据库的事务隔离级别
12.2 Hibernate的事务范围
12.3 Hibernate的事务声明
12.4 乐观并发控制
12.4.1 应用程序级别的手工版本检查
12.4.2 扩展周期的Session和自动版本化
12.4.3 使用脱管对象的自动版本化
12.4.4 定制自动版本化行为
12.5 采用悲观锁
12.6 小结
12.7 习题
第4篇 Hibernate框架集成
第13章 Hibernate与Struts框架的集成
13.1 Hibernate与Struts框架
13.1.1 MVC模式
13.1.2 Struts框架简介
13.1.3 框架集成策略
13.1.4 框架集成示例
13.1.5 Eclipse配置
13.2 Hibernate与动态菜单
13.2.1 动态菜单
13.2.2 Struts-Menu应用简介
13.2.3 一个动态菜单的实现
13.3 小结
13.4 习题
第14章 Hibernate、Struts、Spring框架的集成
14.1 Sping框架简介
14.2 Hibernate与Spring、Struts框架的集成策略
14.3 环境搭建
14.3.1 Struts 2和Spring集成
14.3.2 Hibernate和Spring集成
14.3.3 Spring 2事务配置
14.3.4 Spring 2事务配置小结
14.4 小结
14.5 习题
第5篇 项目实战
第15章 科研项目管理系统
15.1 系统需求分析
15.2 系统总体架构设计
15.3 系统建模
15.3.1 域模型分析
15.3.2 建立映射文件
15.3.3 生成持久化类
15.3.4 数据库建模
15.4 系统设计
15.4.1 模块功能设计
15.4.2 接口设计
15.4.3 用户界面设计
15.4.4 目录设计
15.5 配置文件
15.5.1 hibernate.cfg.xml
15.5.2 struts.config.xml
15.6 系统初始界面
15.7 技术领域管理模块
15.7.1 技术领域列表
15.7.2 添加技术领域
15.7.3 修改技术领域
15.7.4 删除技术领域
15.8 项目管理模块
15.8.1 项目列表
15.8.2 添加项目
15.8.3 修改项目
15.8.4 删除项目
15.8.5 为项目指定人员
15.9 人员管理模块
15.9.1 人员列表
15.9.2 添加人员
15.9.3 修改人员
15.9.4 删除人员
15.9.5 为人员指定项目
15.10 综合查询
15.10.1 查询条件
15.10.2 查询结果
15.11 需要改进的地方
15.12 小结
15.13 习题
附录A Java 集合类
ArrayList类
HashMap类
HashSet类
SortedMap类
SortedSet类
Vector类
Hashtable类
附录B 光盘内容与使用说明
B.1 光盘内容
B.1.1 示例源代码
B.1.2 实战项目源代码
B.2 使用示例源代码
B.3 使用ant应用示例源代码
B.4 使用实战项目源代码
B.5 使用Hibernate与Spring、Struts框架集成源代码
B.6 恢复数据库