hibernate是非常流行的对象-关系映射工具。本书由浅入深地介绍运用目前最成熟的hibernate 3.3版本进行java对象持久化的核心技术。本书主要介绍通过hibernate api来访问数据库的方法,还介绍把java对象模型映射到关系数据模型的各种技巧、处理并发问题及实现对话的种种方案。本书将帮助读者编写出具有合理的软件架构,以及好的运行性能和并发性能的实用hibernate应用。书中内容注重理论与实践相结合,列举大量具有典型性和实用价值的hibernate应用实例,并提供详细的开发和部署步骤。
   随书配套光盘内容为本书所有范例源程序、本书涉及的软件的最新版本的安装程序。
   本书在表述方面,引入了中国传统文化中家喻户晓的《西游记》人物孙悟空,以他学习hibernate为主线,以为花果山实现信息化为案例,带领读者逐步领略hibernate技术的种种神通妙用,大大增加了书的趣味性。只要读者具备了java基础知识,就能轻松阅读本书,快速掌握hibernate技术。

目录

第1章 访问关系数据库的途径 1
1.1 创建关系数据库表 1
1.2 访问关系数据库的途径 2
1.2.1 通过数据库的自带客户程序与数据库服务器交互 2
1.2.2 通过java程序与数据库服务器交互 3
1.3 java程序通过jdbc api访问数据库 6
1.4 java程序通过hibernate api访问数据库 9
1.5 java对象的持久化概念 12
1.6 小结 13
第2章 第一个hibernate应用 15
2.1 创建hibernate的配置文件 15
2.2 创建持久化类 16
2.3 创建数据库schema 18
2.4 创建对象-关系映射文件 18
2.5 通过hibernate api操纵数据库 21
2.5.1 hibernate的初始化 24
2.5.2 访问hibernate的session接口 25
2.6 运行monkeys应用 28
2.6.1 创建运行本书范例的系统环境 28
2.6.2 创建monkeys应用的目录结构 32
.2.6.3 运行monkeys应用 33
2.6.4 给monkeys应用加入用户界面 36
2.7 小结 36
第3章 对象-关系映射基础 39
3.1 持久化类的属性及访问方法 39
3.1.1 基本类型属性和包装类型属性 40
3.1.2 hibernate访问持久化类属性的策略 42
3.1.3 在持久化类的访问方法中加入程序逻辑 42
3.1.4 设置派生属性 44
3.1.5 控制insert和update语句 45
3.2 处理sql引用标识符 46
3.3 使用xml格式的配置文件 47
3.4 运行本章的范例程序 48
3.5 小结 54
第4章 映射对象标识符 57
4.1 关系数据库按主键区分不同的记录 58
4.1.1 把主键定义为自动增长标识符类型 59
4.1.2 从序列(sequence)中获取自动增长的标识符 59
4.2 java语言按内存地址区分不同的对象 60
4.3 hibernate用对象标识符(oid)来区分对象 61
4.4 hibernate的内置标识符生成器的用法 64
4.4.1 increment标识符生成器 68
4.4.2 identity标识符生成器 70
4.4.3 sequence标识符生成器 71
4.4.4 hilo标识符生成器 73
4.4.5 native标识符生成器 74
4.5 映射自然主键 76
4.6 小结 77
第5章 映射一对多关联关系 79
5.1 建立多对一的单向关联关系 81
5.1.1 关于transientobjectexception异常 86
5.1.2 级联保存和更新 87
5.2 映射一对多双向关联关系 88
5.2.1 [set]元素的inverse属性 93
5.2.2 级联删除 96
5.2.3 父子关系 97
5.3 小结 98
第6章 通过hibernate操纵对象 99
6.1 理解session的缓存 99
6.1.1 session的缓存的作用 101
6.1.2 脏检查及清理缓存的机制 103
6.2 java对象在hibernate持久化层的状态 105
6.2.1 临时对象的特征 107
6.2.2 持久化对象的特征 107
6.2.3 被删除对象的特征 108
6.2.4 游离对象的特征 109
6.3 session接口的详细用法 109
6.3.1 session的save()方法 110
6.3.2 session的load()和get()方法 111
6.3.3 session的update()方法 112
6.3.4 session的saveorupdate()方法 115
6.3.5 session的merge()方法 116
6.3.6 session的delete()方法 117
6.4 级联操纵对象图 118
6.5 批量处理数据 120
6.5.1 通过session来进行批量操作 121
6.5.2 通过statelesssession来进行批量操作 123
6.5.3 通过hql来进行批量操作 124
6.6 hibernate的二级缓存结构 125
6.7 小结 126
第7章 hibernate的检索策略和检索方式 129
7.1 hibernate的检索策略 131
7.1.1 类级别的检索策略 133
7.1.2 一对多和多对多关联的检索策略 136
7.1.3 多对一和一对一关联的检索策略 139
7.1.4 在应用程序中显式指定迫切左外连接检索策略 143
7.1.5 比较3种检索策略 143
7.2 检索方式 145
7.2.1 hql检索方式 145
7.2.2 qbc检索方式 146
7.2.3 sql检索方式 147
7.3 小结 148
第8章 映射组成关系 149
8.1 建立精粒度对象模型 150
8.2 建立粗粒度关系数据模型 151
8.3 映射组成关系 152
8.3.1 区分值(value)类型和实体(entity)类型 155
8.3.2 在应用程序中访问具有组成关系的持久化类 156
8.4 映射复合组成关系 160
8.5 小结 161
第9章 hibernate的映射类型 163
9.1 hibernate的内置映射类型 163
9.1.1 java基本类型的hibernate映射类型 163
9.1.2 java时间和日期类型的hibernate映射类型 164
9.1.3 java大对象类型的hibernate映射类型 164
9.1.4 jdk自带的个别java类的hibernate映射类型 165
9.1.5 使用hibernate内置映射类型 165
9.2 客户化映射类型 166
9.3 用客户化映射类型取代hibernate组件 171
9.4 运行范例程序 175
9.5 小结 181
第10章 映射继承关系 183
10.1 继承关系树的每个具体类对应一个表 184
10.1.1 创建映射文件 185
10.1.2 操纵持久化对象 187
10.2 继承关系树的根类对应一个表 190
10.2.1 创建映射文件 190
10.2.2 操纵持久化对象 192
10.3 继承关系树的每个类对应一个表 194
10.3.1 创建映射文件 195
10.3.2 操纵持久化对象 197
10.4 选择继承关系的映射方式 199
10.5 小结 200
第11章 java集合 203
11.1 set(集) 204
11.1.1 set的一般用法 204
11.1.2 hashset类 206
11.1.3 treeset类 207
11.2 list(列表) 212
11.3 map(映射) 213
11.4 小结 214
第12章 映射值类型集合 217
12.1 映射set(集) 217
12.2 映射bag(包) 221
12.3 映射list(列表) 224
12.4 映射map 227
12.5 对集合排序 230
12.5.1 在数据库中对集合排序 231
12.5.2 在内存中对集合排序 232
12.6 小结 236
第13章 映射实体关联关系 239
13.1 映射一对一关联 239
13.1.1 按照外键映射 240
13.1.2 按照主键映射 245
13.2 映射单向多对多关联 248
13.3 映射双向多对多关联关系 251
13.3.1 关联两端使用[set]元素 252
13.3.2 使用组件类集合 253
13.3.3 把多对多关联分解为两个一对多关联 258
13.4 小结 260
第14章 声明数据库事务 261
14.1 数据库事务的概念 261
14.2 声明事务边界的方式 263
14.3 在mysql.exe程序中声明事务 265
14.4 java应用通过jdbc api声明事务 267
14.5 java应用通过hibernate api声明事务 269
14.5.1 处理异常 270
14.5.2 session与事务的关系 271
14.5.3 设定事务超时 274
14.6 小结 274
第15章 处理并发问题 275
15.1 多个事务并发运行时的并发问题 275
15.1.1 第一类丢失更新 276
15.1.2 脏读 277
15.1.3 虚读 277
15.1.4 不可重复读 278
15.1.5 第二类丢失更新 279
15.2 数据库系统的锁的基本原理 279
15.3 数据库的事务隔离级别 280
15.3.1 在mysql.exe程序中设置隔离级别 282
15.3.2 在应用程序中设置隔离级别 282
15.4 在应用程序中采用悲观锁 283
15.5 利用hibernate的版本控制来实现乐观锁 289
15.5.1 使用[version]元素 289
15.5.2 使用[timestamp]元素 295
15.5.3 对游离对象进行版本检查 296
15.6 实现乐观锁的其他方法 297
15.7 小结 298
第16章 管理session和实现对话 301
16.1 hibernate管理session对象的方式 302
16.2 session对象的生命周期与本地线程绑定 304
16.3 实现对话 307
16.3.1 使用游离对象 309
16.3.2 使用手工清理缓存模式下的session 312
16.4 hibernate委托程序来管理session 314
16.5 小结 317

截图:



欢迎投稿 职场/创业方向. 邮箱wangfzcom(AT)163.com:王夫子社区 » Hibernate逍遥游记( 孙卫琴) PDF扫描版 PDF 免费下载

点评 0

评论前必须登录!

登陆 注册