第一部分 理论 3
第1章 Hibernate概述 3
1.1 应用程序的分层结构 5
1.1.1 为什么要分层 5
1.1.2 典型的软件分层结构 5
1.1.3 软件层次的特征 5
1.1.4 软件分层的优缺点 6
1.2 持久层 7
1.2.1 为什么需要持久层 7
1.2.2 什么是持久层 7
1.2.3 什么是持久化 8
1.2.4 为什么需要持久化 8
1.3 ORM 8
1.3.1 什么是ORM 8
1.3.2 ORM的作用 9
1.4 Hibernate简介 10
1.4.1 为什么需要使用Hibernate 10
1.4.2 什么是Hibernate 10
1.4.3 Hibernate对JDBC的封装 11
1.5 Hibernate准备 12
1.5.1 准备软件开发环境 12
1.5.2 准备数据库 12
1.5.3 创建持久化类 12
1.5.4 创建映射文件 14
1.6 Hibernate配置 16
1.7 Hibernate基础 17
1.7.1 Configuration 17
1.7.2 SessionFactory 17
1.7.3 Session 17
1.7.4 Transaction 18
1.8 Hibernate应用 18
1.9 使用MyEclipse提供的工具简化Hibernate开发 19
第2章 Hibernate的关系 27
2.1 映射关联关系 29
2.1.1 什么是关联关系 29
2.1.2 关联操作的优势 29
2.2 单向一对多关联/多对一关联 29
2.2.1 单向一对多关联 30
2.2.2 单向多对一关联 34
2.3 双向一对多关联 38
2.3.1 双向一对多 38
2.3.2 双向一对多的实体间关联 40
2.3.3 双向一对多的映射文件 42
2.3.4 双向一对多的应用 44
第3章 Hibernate检索 53
3.1 Hibernate检索 55
3.1.1 Hibernate检索方式类型 55
3.1.2 Hibernate检索方式简介 55
3.2 HQL检索方式 56
3.2.1 HQL检索 56
3.2.2 HQL检索步骤 56
3.3 HQL查询 57
3.3.1 实体查询 57
3.3.2 属性查询 60
3.3.3 分组与排序 63
3.3.4 绑定参数 64
3.3.5 联合查询 66
3.3.6 子查询 68
3.4 Criteria查询 69
3.4.1 什么是Criteria查询 69
3.4.2 Criteria查询方式 70
3.4.3 Criteria高级特性 71
第4章 Hibernate高级特性 77
4.1 Hibernate实体对象的生命周期 79
4.1.1 Hibernate实体对象的状态 79
4.1.2 VO与PO 82
4.1.3 实体对象状态间的转换 82
4.2 Hibernate缓存 83
4.2.1 什么是数据缓存 83
4.2.2 数据缓存的策略 83
4.2.3 什么是Hibernate数据缓存 84
4.2.4 Hibernate一级缓存 84
4.2.5 Hibernate二级缓存 86
4.2.6 Hibernate缓存在查询中的应用 87
4.3 Hibernate检索策略 88
4.3.1 Hibernate检索策略简介 88
4.3.2 类级别检索策略 88
4.3.3 关联级别检索策略 92
第二部分 上机 101
上机1 Hibernate概述 101
阶段1 使用JDBC完成数据库操作 102
阶段2 Hibernate配置 106
阶段3 使用单元测试实现Hibernate持久化 108
上机作业 111
上机2 Hibernate的关系 113
阶段1 账户、信用卡单向一对多关联 114
阶段2 账户、信用卡双向一对多关联 116
上机作业 120
上机3 Hibernate检索 123
阶段1 使用HQL查询名片 124
阶段2 使用Criteria查询名片 132
上机作业 134
上机4 Hibernate高级特性 135
阶段1 构造Hibernate实体对象的3种状态 136
阶段2 Hibernate一级缓存的应用 141
阶段3 类级别检索策略在实际中的应用 142
上机作业 148