微信扫一扫,移动浏览光盘
简介
如果说书的结构好比房屋的框架,书的内容则好比房屋的具体组成元素。计算机书的内容的形式分为:文字、 表格、图和范例。为了把某种知识讲清楚,常常需要综合使用这四种形式的元素...
hibernate是一个基于java的开放源代码的持久化中间件,它对jdbc作了轻量级封装,不仅提供orm映射服务,还提供数据查询和数据缓存功能,java开发人员可以方便的通过hibernate api来操纵数据库。
现在,越来越多的java开发人员把hibernate作为企业应用和关系数据库之间的中间件,以节省和对象持久化有关的30%的jdbc编程工作量。2005年,hibernate作为优秀的类库和组件,荣获了第15届jolt大奖。hibernate之所以能够流行,归功于它特有的优势。
本书结合大量典型的实例,详细介绍了运用目前最成熟的hibernate2.1版本进行java对象持久化的技术。hibernate是连接java对象模型和关系数据模型的桥梁,通过本书,读者不仅能掌握用hibernate工具对这两种模型进行映射的技术,还能获得设计与开发java对象模型和关系数据模型的先进经验。
目录
第1章 java对象持久化技术概述 1
1.1 应用程序的分层体系结构 1
1.1.1 区分物理层和逻辑层 2
1.1.2 软件层的特征 3
1.1.3 软件分层的优点 4
1.1.4 软件分层的缺点 4
1.1.5 java应用的持久化层 5
1.2 软件的模型 6
1.2.1 概念模型 7
1.2.2 关系数据模型 8
1.2.3 域模型 10
1.2.4 域对象 10
1.2.5 域对象之间的关系 11
1.2.6 域对象的持久化概念 16
1.3 直接通过jdbc api来持久
化实体域对象 17
1.4 orm简介 25
1.4.1 对象-关系映射的概念 27
1.4.2 orm中间件的基本
使用方法 29
.1.4.3 常用的orm中间件 32
1.5 实体域对象的其他持久化
模式 32
1.5.1 主动域对象模式 33
1.5.2 jdo模式 35
1.5.3 cmp模式 35
1.6 hibernate api简介 36
1.6.1 hibernate的核心接口 37
1.6.2 回调接口 39
1.6.3 hibernate映射类型接口 40
1.6.4 可供扩展的接口 41
1.7 小结 42
第2章 hibernate入门 45
2.1 创建hibernate的配置文件 46
2.2 创建持久化类 47
2.3 创建数据库schema 49
2.4 创建对象-关系映射文件 50
2.4.1 映射文件的文档类型
定义(dtd) 51
2.4.2 把customer持久化类映射
到customers表 52
2.5 通过hibernateapi操纵
数据库 56
2.5.1 hibernate的初始化 59
2.5.2 访问hibernate的
session接口 61
2.6 运行helloapp应用 65
2.6.1 创建运行本书范例的
系统环境 65
2.6.2 创建helloapp应用的
目录结构 69
2.6.3 把helloapp应用作为
独立应用程序运行 70
2.6.4 把helloapp应用作为
java web应用运行 74
2.7 小结 76
第3章 hbm2java和hbm2ddl工具 79
3.1 创建对象-关系映射文件 79
3.1.1 定制持久化类 81
3.1.2 定制数据库表 84
3.2 建立项目的目录结构 87
3.3 运行hbm2java工具 90
3.4 运行hbm2ddl工具 92
3.5 小结 95
第4章 对象-关系映射基础 97
4.1 持久化类的属性及访问
方法 97
4.1.1 基本类型属性和包装
类型属性 98
4.1.2 hibernate访问持久化类
属性的策略 100
2.4 创建对象-关系映射文件 50
2.4.1 映射文件的文档类型
定义(dtd) 51
2.4.2 把customer持久化类映射
到customers表 52
2.5 通过hibernateapi操纵
数据库 56
2.5.1 hibernate的初始化 59
2.5.2 访问hibernate的
session接口 61
2.6 运行helloapp应用 65
2.6.1 创建运行本书范例的
系统环境 65
2.6.2 创建helloapp应用的
目录结构 69
2.6.3 把helloapp应用作为
独立应用程序运行 70
2.6.4 把helloapp应用作为
java web应用运行 74
2.7 小结 76
第3章 hbm2java和hbm2ddl工具 79
3.1 创建对象-关系映射文件 79
3.1.1 定制持久化类 81
3.1.2 定制数据库表 84
3.2 建立项目的目录结构 87
3.3 运行hbm2java工具 90
3.4 运行hbm2ddl工具 92
3.5 小结 95
第4章 对象-关系映射基础 97
4.1 持久化类的属性及访问
方法 97
4.1.1 基本类型属性和包装
类型属性 98
4.1.2 hibernate访问持久化类
属性的策略 100
2.4 创建对象-关系映射文件 50
2.4.1 映射文件的文档类型
定义(dtd) 51
2.4.2 把customer持久化类映射
到customers表 52
2.5 通过hibernateapi操纵
数据库 56
2.5.1 hibernate的初始化 59
2.5.2 访问hibernate的
session接口 61
2.6 运行helloapp应用 65
2.6.1 创建运行本书范例的
系统环境 65
2.6.2 创建helloapp应用的
目录结构 69
2.6.3 把helloapp应用作为
独立应用程序运行 70
2.6.4 把helloapp应用作为
java web应用运行 74
2.7 小结 76
第3章 hbm2java和hbm2ddl工具 79
3.1 创建对象-关系映射文件 79
3.1.1 定制持久化类 81
3.1.2 定制数据库表 84
3.2 建立项目的目录结构 87
3.3 运行hbm2java工具 90
3.4 运行hbm2ddl工具 92
3.5 小结 95
第4章 对象-关系映射基础 97
4.1 持久化类的属性及访问
方法 97
4.1.1 基本类型属性和包装
类型属性 98
4.1.2 hibernate访问持久化类
属性的策略 100
4.1.3 在持久化类的访问方法中
加入程序逻辑 100
4.1.4 设置派生属性 103
4.1.5 控制insert和update
语句 104
4.2 处理sql引用标识符 105
4.3 创建命名策略 106
4.4 设置命名schema 108
4.5 设置类的包名 109
4.6 运行本章的范例程序 110
4.7 小结 117
第5章 映射对象标识符 119
5.1 关系数据库按主键区分
不同的记录 119
5.1.1 把主键定义为自动增长
标识符类型 119
5.1.2 从序列(sequence)中获取
自动增长的标识符 120
5.2 java语言按内存地址区分
不同的对象 121
5.3 hibernate用对象标识符
(oid)来区分对象 122
5.4 hibernate的内置标识符
生成器的用法 124
5.4.1 increment标识符生成器 127
5.4.2 identity标识符生成器 130
5.4.3 sequence标识符生成器 131
5.4.4 hilo标识符生成器 132
5.4.5 native标识符生成器 134
5.5 映射自然主键 135
5.5.1 映射单个自然主键 135
5.5.2 映射复合自然主键 136
5.6 小结 140
第6章 映射一对多关联关系 141
6.1 建立多对一的单向
关联关系 142
6.1.1 [many-to-one]元素的
not-null属性 147
6.1.2 级联保存和更新 149
6.2 映射一对多双向关联关系 150
6.2.1 [set]元素的inverse
属性 155
6.2.2 级联删除 158
6.2.3 父子关系 158
6.3 映射一对多双向自身
关联关系 160
6.4 改进持久化类 166
6.5 小结 171
第7章 操纵持久化对象 173
7.1 java对象在jvm中的
生命周期 173
7.2 理解session的缓存 175
7.3 在hibernate应用中java
对象的状态 178
7.3.1 临时对象的特征 179
7.3.2 持久化对象的特征 180
7.3.3 游离对象的特征 181
7.4 session的保存、更新、
删除和查询方法 182
7.4.1 session的save()方法 182
7.4.2 session的update()方法 184
7.4.3 session的saveorupdate()
方法 187
7.4.4 session的load()和get()
方法 188
7.4.5 session的delete()方法 188
7.5 级联操纵对象图 189
7.5.1 级联保存临时对象 193
7.5.2 更新持久化对象 194
7.5.3 持久化临时对象 194
7.5.4 更新游离对象 196
7.5.5 遍历对象图 197
7.6 与触发器协同工作 198
7.7 利用拦截器(interceptor)
生成审计日志 200
7.8 小结 207
第8章 映射组成关系 209
8.1 建立精粒度对象模型 210
8.2 建立粗粒度关系数据模型 211
8.3 映射组成关系 212
8.3.1 区分值(value)类型和
实体(entity)类型 215
8.3.2 在应用程序中访问具有
组成关系的持久化类 216
8.4 映射复合组成关系 220
8.5 小结 222
第9章 hibernate的映射类型 223
9.1 hibernate的内置映射类型 223
9.1.1 java基本类型的hibernate
映射类型 223
9.1.2 java时间和日期类型的
hibernate映射类型 224
9.1.3 java大对象类型的hibernate映射类型 225
9.1.4 jdk自带的个别java类的
hibernate映射类型 226
9.1.5 使用hibernate内置映射
类型 227
9.2 客户化映射类型 229
9.2.1 用客户化映射类型取代
hibernate组件 232
9.2.2 用usertype映射枚举
类型 235
9.2.3 实现compositeusertype
接口 239
9.3 运行本章范例程序 243
9.4 小结 253
第10章 hibernate的检索策略 255
10.1 hibernate的检索策略
简介 256
10.2 类级别的检索策略 259
10.2.1 立即检索 260
10.2.2 延迟检索 260
10.3 一对多和多对多关联的
检索策略 263
10.3.1 立即检索 264
10.3.2 延迟检索 264
10.3.3 批量延迟检索和
批量立即检索 265
10.3.4 迫切左外连接检索 267
10.4 多对一和一对一关联的
检索策略 268
10.4.1 迫切左外连接检索 269
10.4.2 延迟检索 271
10.4.3 立即检索 272
10.4.4 批量延迟检索和
批量立即检索 273
10.5 hibernate对迫切左外
连接检索的限制 277
10.6 在应用程序中显式指定迫切
左外连接检索策略 279
10.7 小结 279
第11章 hibernate的检索方式 281
11.1 hibernate的检索方式
简介 281
11.1.1 hql检索方式 284
11.1.2 qbc检索方式 285
11.1.3 sql检索方式 288
11.1.4 关于本章范例程序 288
11.1.5 使用别名 289
11.1.6 多态查询 290
11.1.7 对查询结果排序 291
11.1.8 分页查询 291
11.1.9 检索单个对象 293
11.1.10 在hql查询语句中
绑定参数 294
11.1.11 在映射文件中定义
命名查询语句 298
11.2 设定查询条件 299
11.2.1 比较运算 300
11.2.2 范围运算 301
11.2.3 字符串模式匹配 302
11.2.4 逻辑运算 303
11.3 连接查询 304
11.3.1 默认情况下关联级别的
运行时检索策略 305
11.3.2 迫切左外连接 306
11.3.3 左外连接 309
11.3.4 内连接 313
11.3.5 迫切内连接 317
11.3.6 隐式内连接 319
11.3.7 右外连接 320
11.3.8 使用sql风格的交叉
连接和隐式内连接 322
11.3.9 关联级别运行时的
检索策略 323
11.4 报表查询 325
11.4.1 投影查询 325
11.4.2 使用聚集函数 328
11.4.3 分组查询 329
11.4.4 优化报表查询的性能 332
11.5 高级查询技巧 332
11.5.1 动态查询 332
11.5.2 集合过滤 334
11.5.3 子查询 337
11.5.4 本地sql查询 339
11.6 查询性能优化 340
11.6.1 iterate()方法 340
11.6.2 查询缓存 341
11.7 小结 342
第12章 数据库事务与并发 345
12.1 数据库事务的概念 345
12.2 声明事务边界 346
12.2.1 在mysql.exe程序中
声明事务 348
12.2.2 通过jdbc api声明
事务边界 350
12.2.3 通过hibernate api声明
事务边界 351
12.3 多个事务并发运行时的
并发问题 355
12.3.1 第一类丢失更新 357
12.3.2 脏读 357
12.3.3 虚读 358
12.3.4 不可重复读 358
12.3.5 第二类丢失更新 359
12.4 数据库系统的锁的
基本原理 360
12.4.1 锁的多粒度性及
自动锁升级 360
12.4.2 锁的类型和兼容性 361
12.4.3 死锁及其防止办法 362
12.5 数据库的事务隔离级别 364
12.5.1 在mysql.exe程序中
设置隔离级别 366
12.5.2 在应用程序中设置
隔离级别 366
12.6 在应用程序中采用
悲观锁和乐观锁 366
12.6.1 利用数据库系统的独占锁
来实现悲观锁 367
12.6.2 由应用程序实现
悲观锁 373
12.6.3 利用hibernate的版本
控制来实现乐观锁 374
12.6.4 实现乐观锁的其他
方法 380
12.7 小结 381
第13章 管理hibernate的缓存 383
13.1 缓存的基本原理 383
13.1.1 持久化层的缓存的
范围 384
13.1.2 持久化层的缓存的
并发访问策略 386
13.2 hibernate的二级
缓存结构 388
13.3 管理hibernate的
第一级缓存 389
13.4 管理hibernate的
第二级缓存 393
13.4.1 配置进程范围内的
第二级缓存 394
13.4.2 配置群集范围内的
第二级缓存 398
13.4.3 在应用程序中管理
第二级缓存 401
13.5 运行本章的范例程序 402
13.6 小结 406
第14章 映射继承关系 407
14.1 继承关系树的每个具体
类对应一个表 408
14.1.1 创建映射文件 409
14.1.2 操纵持久化对象 411
14.2 继承关系树的根类
对应一个表 414
14.2.1 创建映射文件 415
14.2.2 操纵持久化对象 417
14.3 继承关系树的每个类
对应一个表 418
14.3.1 创建映射文件 419
14.3.2 操纵持久化对象 421
14.4 选择继承关系的映射
方式 423
14.5 映射多对一多态关联 428
14.6 小结 430
第15章 java集合类 433
15.1 set(集) 434
15.1.1 set的一般用法 434
15.1.2 hashset类 435
15.1.3 treeset类 437
15.1.4 向set中加入持久化类
的对象 441
15.2 list(列表) 442
15.3 map(映射) 444
15.4 小结 448
第16章 映射值类型集合 449
16.1 映射set(集) 449
16.2 映射bag(包) 453
16.3 映射list(列表) 456
16.4 映射map 459
16.5 对集合排序 462
16.5.1 在数据库中对
集合排序 462
16.5.2 在内存中对集合排序 464
16.6 映射组件类型集合 467
16.7 小结 474
第17章 映射实体关联关系 475
17.1 映射一对一关联 475
17.1.1 按照外键映射 476
17.1.2 按照主键映射 480
17.2 映射单向多对多关联 483
17.3 映射双向多对多关联
关系 488
17.3.1 关联两端使用[set]
元素 488
17.3.2 在inverse端使用[bag]
元素 490
17.3.3 使用组件类集合 494
17.3.4 把多对多关联分解为
两个一对多关联 499
17.4 小结 501
第18章 hibernate高级配置 503
18.1 配置数据库连接池 503
18.1.1 使用默认的数据库
连接池 506
18.1.2 使用配置文件指定的
数据库连接池 507
18.1.3 从容器中获得数据源 508
18.1.4 由java应用本身提供
数据库连接 510
18.2 配置事务类型 511
18.3 把sessionfactory与
jndi绑定 512
18.4 使用xml格式的
配置文件 513
18.5 小结 516
第19章 hibernate与struts框架 517
19.1 实现业务数据 519
19.2 实现业务逻辑 522
19.3 netstore应用的订单业务 534
19.4 小结 538
第20章 hibernate与ejb组件 541
20.1 创建ejb组件 541
20.1.1 编写remote接口 541
20.1.2 编写home接口 543
20.1.3 编写enterprise java bean
类 543
20.2 在业务代理类中访问
ejb组件 546
20.3 发布j2ee应用 551
20.3.1 在jboss-tomcat上部署
ejb组件 551
20.3.2 在jboss-tomcat上部署
web应用 553
20.3.3 在jboss-tomcat上部署
j2ee应用 554
20.4 小结 556
附录a 标准sql语言的用法 557
a.1 数据完整性 558
a.1.1 实体完整性 558
a.1.2 域完整性 558
a.1.3 参照完整性 558
a.2 ddl数据定义语言 559
a.3 dml数据操纵语言 561
a.4 dql数据查询语言 561
a.4.1 简单查询 562
a.4.2 连接查询 563
a.4.3 子查询 565
a.4.4 联合查询 566
a.4.5 报表查询 566
附录b java语言的反射机制 569
b.1 java reflectionapi简介 569
b.2 运用反射机制来持久化
java对象 572
附录c 用xdoclet工具生成
映射文件 581
c.1 创建带有@hibernate
标记的java源文件 581
c.2 建立项目的目录结构 586
c.3 运行xdoclet工具 589
附录d 发布和运行netstore应用 591
d.1 运行netstore所需的软件 591
d.2 netstore应用的目录结构 592
d.3 安装sampledb数据库 593
d.4 发布netstore应用 594
d.4.1 在工作模式1下发布
netstore应用 594
d.4.2 在工作模式2下发布
netstore应用 594
d.5 运行netstore应用 595
参考文献 599
1.1 应用程序的分层体系结构 1
1.1.1 区分物理层和逻辑层 2
1.1.2 软件层的特征 3
1.1.3 软件分层的优点 4
1.1.4 软件分层的缺点 4
1.1.5 java应用的持久化层 5
1.2 软件的模型 6
1.2.1 概念模型 7
1.2.2 关系数据模型 8
1.2.3 域模型 10
1.2.4 域对象 10
1.2.5 域对象之间的关系 11
1.2.6 域对象的持久化概念 16
1.3 直接通过jdbc api来持久
化实体域对象 17
1.4 orm简介 25
1.4.1 对象-关系映射的概念 27
1.4.2 orm中间件的基本
使用方法 29
.1.4.3 常用的orm中间件 32
1.5 实体域对象的其他持久化
模式 32
1.5.1 主动域对象模式 33
1.5.2 jdo模式 35
1.5.3 cmp模式 35
1.6 hibernate api简介 36
1.6.1 hibernate的核心接口 37
1.6.2 回调接口 39
1.6.3 hibernate映射类型接口 40
1.6.4 可供扩展的接口 41
1.7 小结 42
第2章 hibernate入门 45
2.1 创建hibernate的配置文件 46
2.2 创建持久化类 47
2.3 创建数据库schema 49
2.4 创建对象-关系映射文件 50
2.4.1 映射文件的文档类型
定义(dtd) 51
2.4.2 把customer持久化类映射
到customers表 52
2.5 通过hibernateapi操纵
数据库 56
2.5.1 hibernate的初始化 59
2.5.2 访问hibernate的
session接口 61
2.6 运行helloapp应用 65
2.6.1 创建运行本书范例的
系统环境 65
2.6.2 创建helloapp应用的
目录结构 69
2.6.3 把helloapp应用作为
独立应用程序运行 70
2.6.4 把helloapp应用作为
java web应用运行 74
2.7 小结 76
第3章 hbm2java和hbm2ddl工具 79
3.1 创建对象-关系映射文件 79
3.1.1 定制持久化类 81
3.1.2 定制数据库表 84
3.2 建立项目的目录结构 87
3.3 运行hbm2java工具 90
3.4 运行hbm2ddl工具 92
3.5 小结 95
第4章 对象-关系映射基础 97
4.1 持久化类的属性及访问
方法 97
4.1.1 基本类型属性和包装
类型属性 98
4.1.2 hibernate访问持久化类
属性的策略 100
2.4 创建对象-关系映射文件 50
2.4.1 映射文件的文档类型
定义(dtd) 51
2.4.2 把customer持久化类映射
到customers表 52
2.5 通过hibernateapi操纵
数据库 56
2.5.1 hibernate的初始化 59
2.5.2 访问hibernate的
session接口 61
2.6 运行helloapp应用 65
2.6.1 创建运行本书范例的
系统环境 65
2.6.2 创建helloapp应用的
目录结构 69
2.6.3 把helloapp应用作为
独立应用程序运行 70
2.6.4 把helloapp应用作为
java web应用运行 74
2.7 小结 76
第3章 hbm2java和hbm2ddl工具 79
3.1 创建对象-关系映射文件 79
3.1.1 定制持久化类 81
3.1.2 定制数据库表 84
3.2 建立项目的目录结构 87
3.3 运行hbm2java工具 90
3.4 运行hbm2ddl工具 92
3.5 小结 95
第4章 对象-关系映射基础 97
4.1 持久化类的属性及访问
方法 97
4.1.1 基本类型属性和包装
类型属性 98
4.1.2 hibernate访问持久化类
属性的策略 100
2.4 创建对象-关系映射文件 50
2.4.1 映射文件的文档类型
定义(dtd) 51
2.4.2 把customer持久化类映射
到customers表 52
2.5 通过hibernateapi操纵
数据库 56
2.5.1 hibernate的初始化 59
2.5.2 访问hibernate的
session接口 61
2.6 运行helloapp应用 65
2.6.1 创建运行本书范例的
系统环境 65
2.6.2 创建helloapp应用的
目录结构 69
2.6.3 把helloapp应用作为
独立应用程序运行 70
2.6.4 把helloapp应用作为
java web应用运行 74
2.7 小结 76
第3章 hbm2java和hbm2ddl工具 79
3.1 创建对象-关系映射文件 79
3.1.1 定制持久化类 81
3.1.2 定制数据库表 84
3.2 建立项目的目录结构 87
3.3 运行hbm2java工具 90
3.4 运行hbm2ddl工具 92
3.5 小结 95
第4章 对象-关系映射基础 97
4.1 持久化类的属性及访问
方法 97
4.1.1 基本类型属性和包装
类型属性 98
4.1.2 hibernate访问持久化类
属性的策略 100
4.1.3 在持久化类的访问方法中
加入程序逻辑 100
4.1.4 设置派生属性 103
4.1.5 控制insert和update
语句 104
4.2 处理sql引用标识符 105
4.3 创建命名策略 106
4.4 设置命名schema 108
4.5 设置类的包名 109
4.6 运行本章的范例程序 110
4.7 小结 117
第5章 映射对象标识符 119
5.1 关系数据库按主键区分
不同的记录 119
5.1.1 把主键定义为自动增长
标识符类型 119
5.1.2 从序列(sequence)中获取
自动增长的标识符 120
5.2 java语言按内存地址区分
不同的对象 121
5.3 hibernate用对象标识符
(oid)来区分对象 122
5.4 hibernate的内置标识符
生成器的用法 124
5.4.1 increment标识符生成器 127
5.4.2 identity标识符生成器 130
5.4.3 sequence标识符生成器 131
5.4.4 hilo标识符生成器 132
5.4.5 native标识符生成器 134
5.5 映射自然主键 135
5.5.1 映射单个自然主键 135
5.5.2 映射复合自然主键 136
5.6 小结 140
第6章 映射一对多关联关系 141
6.1 建立多对一的单向
关联关系 142
6.1.1 [many-to-one]元素的
not-null属性 147
6.1.2 级联保存和更新 149
6.2 映射一对多双向关联关系 150
6.2.1 [set]元素的inverse
属性 155
6.2.2 级联删除 158
6.2.3 父子关系 158
6.3 映射一对多双向自身
关联关系 160
6.4 改进持久化类 166
6.5 小结 171
第7章 操纵持久化对象 173
7.1 java对象在jvm中的
生命周期 173
7.2 理解session的缓存 175
7.3 在hibernate应用中java
对象的状态 178
7.3.1 临时对象的特征 179
7.3.2 持久化对象的特征 180
7.3.3 游离对象的特征 181
7.4 session的保存、更新、
删除和查询方法 182
7.4.1 session的save()方法 182
7.4.2 session的update()方法 184
7.4.3 session的saveorupdate()
方法 187
7.4.4 session的load()和get()
方法 188
7.4.5 session的delete()方法 188
7.5 级联操纵对象图 189
7.5.1 级联保存临时对象 193
7.5.2 更新持久化对象 194
7.5.3 持久化临时对象 194
7.5.4 更新游离对象 196
7.5.5 遍历对象图 197
7.6 与触发器协同工作 198
7.7 利用拦截器(interceptor)
生成审计日志 200
7.8 小结 207
第8章 映射组成关系 209
8.1 建立精粒度对象模型 210
8.2 建立粗粒度关系数据模型 211
8.3 映射组成关系 212
8.3.1 区分值(value)类型和
实体(entity)类型 215
8.3.2 在应用程序中访问具有
组成关系的持久化类 216
8.4 映射复合组成关系 220
8.5 小结 222
第9章 hibernate的映射类型 223
9.1 hibernate的内置映射类型 223
9.1.1 java基本类型的hibernate
映射类型 223
9.1.2 java时间和日期类型的
hibernate映射类型 224
9.1.3 java大对象类型的hibernate映射类型 225
9.1.4 jdk自带的个别java类的
hibernate映射类型 226
9.1.5 使用hibernate内置映射
类型 227
9.2 客户化映射类型 229
9.2.1 用客户化映射类型取代
hibernate组件 232
9.2.2 用usertype映射枚举
类型 235
9.2.3 实现compositeusertype
接口 239
9.3 运行本章范例程序 243
9.4 小结 253
第10章 hibernate的检索策略 255
10.1 hibernate的检索策略
简介 256
10.2 类级别的检索策略 259
10.2.1 立即检索 260
10.2.2 延迟检索 260
10.3 一对多和多对多关联的
检索策略 263
10.3.1 立即检索 264
10.3.2 延迟检索 264
10.3.3 批量延迟检索和
批量立即检索 265
10.3.4 迫切左外连接检索 267
10.4 多对一和一对一关联的
检索策略 268
10.4.1 迫切左外连接检索 269
10.4.2 延迟检索 271
10.4.3 立即检索 272
10.4.4 批量延迟检索和
批量立即检索 273
10.5 hibernate对迫切左外
连接检索的限制 277
10.6 在应用程序中显式指定迫切
左外连接检索策略 279
10.7 小结 279
第11章 hibernate的检索方式 281
11.1 hibernate的检索方式
简介 281
11.1.1 hql检索方式 284
11.1.2 qbc检索方式 285
11.1.3 sql检索方式 288
11.1.4 关于本章范例程序 288
11.1.5 使用别名 289
11.1.6 多态查询 290
11.1.7 对查询结果排序 291
11.1.8 分页查询 291
11.1.9 检索单个对象 293
11.1.10 在hql查询语句中
绑定参数 294
11.1.11 在映射文件中定义
命名查询语句 298
11.2 设定查询条件 299
11.2.1 比较运算 300
11.2.2 范围运算 301
11.2.3 字符串模式匹配 302
11.2.4 逻辑运算 303
11.3 连接查询 304
11.3.1 默认情况下关联级别的
运行时检索策略 305
11.3.2 迫切左外连接 306
11.3.3 左外连接 309
11.3.4 内连接 313
11.3.5 迫切内连接 317
11.3.6 隐式内连接 319
11.3.7 右外连接 320
11.3.8 使用sql风格的交叉
连接和隐式内连接 322
11.3.9 关联级别运行时的
检索策略 323
11.4 报表查询 325
11.4.1 投影查询 325
11.4.2 使用聚集函数 328
11.4.3 分组查询 329
11.4.4 优化报表查询的性能 332
11.5 高级查询技巧 332
11.5.1 动态查询 332
11.5.2 集合过滤 334
11.5.3 子查询 337
11.5.4 本地sql查询 339
11.6 查询性能优化 340
11.6.1 iterate()方法 340
11.6.2 查询缓存 341
11.7 小结 342
第12章 数据库事务与并发 345
12.1 数据库事务的概念 345
12.2 声明事务边界 346
12.2.1 在mysql.exe程序中
声明事务 348
12.2.2 通过jdbc api声明
事务边界 350
12.2.3 通过hibernate api声明
事务边界 351
12.3 多个事务并发运行时的
并发问题 355
12.3.1 第一类丢失更新 357
12.3.2 脏读 357
12.3.3 虚读 358
12.3.4 不可重复读 358
12.3.5 第二类丢失更新 359
12.4 数据库系统的锁的
基本原理 360
12.4.1 锁的多粒度性及
自动锁升级 360
12.4.2 锁的类型和兼容性 361
12.4.3 死锁及其防止办法 362
12.5 数据库的事务隔离级别 364
12.5.1 在mysql.exe程序中
设置隔离级别 366
12.5.2 在应用程序中设置
隔离级别 366
12.6 在应用程序中采用
悲观锁和乐观锁 366
12.6.1 利用数据库系统的独占锁
来实现悲观锁 367
12.6.2 由应用程序实现
悲观锁 373
12.6.3 利用hibernate的版本
控制来实现乐观锁 374
12.6.4 实现乐观锁的其他
方法 380
12.7 小结 381
第13章 管理hibernate的缓存 383
13.1 缓存的基本原理 383
13.1.1 持久化层的缓存的
范围 384
13.1.2 持久化层的缓存的
并发访问策略 386
13.2 hibernate的二级
缓存结构 388
13.3 管理hibernate的
第一级缓存 389
13.4 管理hibernate的
第二级缓存 393
13.4.1 配置进程范围内的
第二级缓存 394
13.4.2 配置群集范围内的
第二级缓存 398
13.4.3 在应用程序中管理
第二级缓存 401
13.5 运行本章的范例程序 402
13.6 小结 406
第14章 映射继承关系 407
14.1 继承关系树的每个具体
类对应一个表 408
14.1.1 创建映射文件 409
14.1.2 操纵持久化对象 411
14.2 继承关系树的根类
对应一个表 414
14.2.1 创建映射文件 415
14.2.2 操纵持久化对象 417
14.3 继承关系树的每个类
对应一个表 418
14.3.1 创建映射文件 419
14.3.2 操纵持久化对象 421
14.4 选择继承关系的映射
方式 423
14.5 映射多对一多态关联 428
14.6 小结 430
第15章 java集合类 433
15.1 set(集) 434
15.1.1 set的一般用法 434
15.1.2 hashset类 435
15.1.3 treeset类 437
15.1.4 向set中加入持久化类
的对象 441
15.2 list(列表) 442
15.3 map(映射) 444
15.4 小结 448
第16章 映射值类型集合 449
16.1 映射set(集) 449
16.2 映射bag(包) 453
16.3 映射list(列表) 456
16.4 映射map 459
16.5 对集合排序 462
16.5.1 在数据库中对
集合排序 462
16.5.2 在内存中对集合排序 464
16.6 映射组件类型集合 467
16.7 小结 474
第17章 映射实体关联关系 475
17.1 映射一对一关联 475
17.1.1 按照外键映射 476
17.1.2 按照主键映射 480
17.2 映射单向多对多关联 483
17.3 映射双向多对多关联
关系 488
17.3.1 关联两端使用[set]
元素 488
17.3.2 在inverse端使用[bag]
元素 490
17.3.3 使用组件类集合 494
17.3.4 把多对多关联分解为
两个一对多关联 499
17.4 小结 501
第18章 hibernate高级配置 503
18.1 配置数据库连接池 503
18.1.1 使用默认的数据库
连接池 506
18.1.2 使用配置文件指定的
数据库连接池 507
18.1.3 从容器中获得数据源 508
18.1.4 由java应用本身提供
数据库连接 510
18.2 配置事务类型 511
18.3 把sessionfactory与
jndi绑定 512
18.4 使用xml格式的
配置文件 513
18.5 小结 516
第19章 hibernate与struts框架 517
19.1 实现业务数据 519
19.2 实现业务逻辑 522
19.3 netstore应用的订单业务 534
19.4 小结 538
第20章 hibernate与ejb组件 541
20.1 创建ejb组件 541
20.1.1 编写remote接口 541
20.1.2 编写home接口 543
20.1.3 编写enterprise java bean
类 543
20.2 在业务代理类中访问
ejb组件 546
20.3 发布j2ee应用 551
20.3.1 在jboss-tomcat上部署
ejb组件 551
20.3.2 在jboss-tomcat上部署
web应用 553
20.3.3 在jboss-tomcat上部署
j2ee应用 554
20.4 小结 556
附录a 标准sql语言的用法 557
a.1 数据完整性 558
a.1.1 实体完整性 558
a.1.2 域完整性 558
a.1.3 参照完整性 558
a.2 ddl数据定义语言 559
a.3 dml数据操纵语言 561
a.4 dql数据查询语言 561
a.4.1 简单查询 562
a.4.2 连接查询 563
a.4.3 子查询 565
a.4.4 联合查询 566
a.4.5 报表查询 566
附录b java语言的反射机制 569
b.1 java reflectionapi简介 569
b.2 运用反射机制来持久化
java对象 572
附录c 用xdoclet工具生成
映射文件 581
c.1 创建带有@hibernate
标记的java源文件 581
c.2 建立项目的目录结构 586
c.3 运行xdoclet工具 589
附录d 发布和运行netstore应用 591
d.1 运行netstore所需的软件 591
d.2 netstore应用的目录结构 592
d.3 安装sampledb数据库 593
d.4 发布netstore应用 594
d.4.1 在工作模式1下发布
netstore应用 594
d.4.2 在工作模式2下发布
netstore应用 594
d.5 运行netstore应用 595
参考文献 599
Let Java Objects Hibernate in the Relational Database
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!