Hibernate ORM最佳实践

编辑 锁定
同义词 HibernateORM最佳实践一般指Hibernate ORM最佳实践
《Hibernate ORM最佳实践》是2007年出版的图书,作者是陶勇
书    名
Hibernate ORM最佳实践
作    者
陶勇
ISBN
9787302157571
定    价
59元
装    帧
平装

目录

Hibernate ORM最佳实践图书简介

编辑
本书站在客观评价Hibernate这门持久化技术的角度,来分析Hibernate的基本构成、知识点及实现原理,汇总业界及作者在Hibernate应用方面的实践经验,分清Hibernate的优势和劣势,及可代替的解决方案,展示Hibernate对象关系映射技术的真谛,总结Hibernate在项目开发中的最佳实践经验,使得读者在入门领悟Hibernate理论知识的同时,能了解Hibernate的优势和劣势,做到扬长避短,而不是盲目膜拜。
本书以Hibernate 3为基础,由浅入深介绍Hibernate OR映射的基本理论知识及最佳实践经验。内容主要分三部分,第一部分是对象关系映射技术的基本理论及Hibernate 对象映射技术的基本知识点,第二部分讲解Hibernate技术的查询和事务、缓存等高级性能,第三部分是Hibernate业界应用的最佳实践经验,包括如何使用Spring集成Hibernate,使用DAO模式透明化持久层设计,Hibernate在Web应用中的最佳实践和Hibernate性能优化和如何使用iBATIS、JdbcTemplate来替代Hibernate。
本书特别适合使用Hibernate进行企业开发的开发人员作为参考书籍,可以将书中的Hibernate最佳实践经验应用于项目中,也适合Hibernate的入门读者作为入门书籍。

Hibernate ORM最佳实践目录

编辑
第1章 对象-关系映射概述1
1.1 分层体系结构1
1.1.1 层次结构2
1.1.2 分层架构特点4
1.1.3 Java数据持久层设计6
1.2 软件设计模型10
1.2.1 概念模型10
1.2.2 数据模型11
1.2.3 域模型13
1.3 对象-关系映射技术背景22
1.3.1 关系数据库操作24
1.3.2 数据持久化25
1.3.3 直接使用JDBC的弊端28
1.3.4 对象-关系映射基本概念28
1.4 对象-关系映射工具30
1.4.1 Hibernate31
1.4.2 JDO32
1.4.3 iBATIS32
1.5 小结33
第2章 快速上手34
2.1 准备工作34
2.2 Hibernate起步35
2.2.1 开发环境准备35
2.2.2 创建持久化类37
2.2.3 创建对象-关系映射文件38
2.2.4 创建Hibernate配置文件39
2.2.5 用Hibernate持久化数据41
2.2.6 加载并存储对象43
2.3 Hibernate体系结构46
2.3.1 结构及构成46
2.3.2 Hibernate基本API48
2.3.3 Configuration48
2.3.4 SessionFactory48
2.3.5 Session48
2.3.6 SessionFactory的配置48
2.4 Hibernate Tools53
2.4.1 Hibernate基本开发环境53
2.4.2 在Ant环境中使用
Hibernate Tools54
2.4.3 在Eclipse中使
Hibernate Tools58
2.5 小结64
第3章 对象/关系数据库映射65
3.1 映射定义65
3.1.1 映射文件概要65
3.1.2 映射文件结构66
3.2 映射文件生成69
3.2.1 使用XDoclet生成
映射文件69
3.2.2 安装Doclipse插件70
3.2.3 编写Java类对象71
3.2.4 编写类对象的XDoclet
Hibernate标签74
3.2.5 执行Ant Task生成
配置文件80
3.3 对象标识符82
3.3.1 内置对象标识符83
3.3.2 increment策略84
3.3.3 高/低位算法生成策略86
3.3.4 标识字段和序列89
3.3.5 自定义对象标识符91
3.4 映射类型95
3.4.1 基本映射类型95
3.4.2 自定义映射类型98
3.5 小结101
第4章 关联关系与组件102
4.1 关联关系102
4.2 一对一关联104
4.2.1 使用主键关联104
4.2.2 使用外键关联109
4.3 一对多关联112
4.3.1 单向关联112
4.3.2 最佳实践——提高
删除性能118
4.3.3 双向关联119
4.4 多对多关联122
4.5 检索策略127
4.5.1 检索策略128
4.5.2 多对一129
4.5.3 一对一132
4.5.4 一对多/多对多134
4.6 组件映射137
4.7 传播性持久化141
4.8 小结142
第5章 集合类映射143
5.1 集合143
5.1.1 Java中的集合143
5.1.2 Hibernate中的集合144
5.2 映射Map145
5.2.1 Java中的Map146
5.2.2 映射Map150
5.3 映射Set157
5.3.1 Java中的Set157
5.3.2 映射Set159
5.4 映射List162
5.4.1 Java中的List163
5.4.2 映射List164
5.5 映射Bag172
5.5.1 映射Bag172
5.5.2 映射idbag176
5.6 集合排序179
5.6.1 数据库排序179
5.6.2 内存排序181
5.7 小结183
第6章 继承映射184
6.1 继承映射184
6.2 继承映射的几种策略188
6.2.1 每个类继承结构一张表188
6.2.2 每个子类一张表195
6.2.3 每个子类一张表,使用
辨别标志200
6.2.4 混合使用“每个类继承
结构一张表”和“每个
子类一张表”203
6.2.5 每个具体类一张表207
6.2.6 每个具体类一张表,使用
隐式多态211
6.3 小结218
第7章 操作持久化对象219
7.1 持久对象的生命周期219
7.1.1 瞬时对象220
7.1.2 持久对象221
7.1.3 脱管对象224
7.1.4 区分持久对象225
7.1.5 equals()和hashCode()228
7.2 理解Session清理232
7.2.1 Session缓存232
7.2.2 Session清理235
7.2.3 深入Session清理机制237
7.3 Session操作对象的方法239
7.3.1 save()240
7.3.2 get()242
7.3.3 update()243
7.3.4 delete()245
7.3.5 saveOrUpdate()246
7.4 传播性持久化247
7.5 小结251
第8章 Hibernate查询252
8.1 Hibernate的查询方式252
8.1.1 通过对象标识符查询252
8.1.2 面向对象查询——HQL253
8.1.3 按条件查询方式
——QBC254
8.1.4 按样例查询方式
——QBE255
8.1.5 传统的查询方式
——Native SQL256
8.1.6 选择合适的抓取策略256
8.2 查询实现258
8.2.1 Session的createQuery()
方法258
8.2.2 迭代获取结果258
8.2.3 多对象查询260
8.2.4 统计查询260
8.2.5 绑定参数式查询261
8.3 过滤器262
8.3.1 Hibernate过滤器262
8.3.2 集合过滤器264
8.4 Hibernate分页支持265
8.4.1 Hibernate分页实现265
8.4.2 Hibernate分页原理266
8.5 使用条件查询269
8.5.1 创建Criteria实例269
8.5.2 Criteria结构273
8.5.3 Criterion274
8.5.4 Projection276
8.6 使用Native SQL查询277
8.6.1 创建一个基于SQL
的Query277
8.6.2 命名SQL查询278
8.6.3 指定字段/别名279
8.6.4 使用存储过程来查询280
8.6.5 Native SQL查询
常用方法281
8.7 查询优化282
8.7.1 开启Hibernate SQL
日志功能282
8.7.2 单步跟踪应用执行情况283
8.8 小结283
第9章 HQL查询语言285
9.1 HQL语言特点285
9.1.1 HQL概要286
9.1.2 面向对象290
9.1.3 大小写敏感性290
9.1.4 跨数据库性292
9.1.5 相关Hibernate设置293
9.1.6 关于本章例程295
9.2 HQL查询构成296
9.2.1 FROM——指定
查询对象296
9.2.2 理解多态查询298
9.2.3 SELECT——指定
查询结果300
9.2.4 JOIN——使用连接304
9.2.5 WHERE——指定
查询条件309
9.2.6 表达式310
9.2.7 查询分组与查询排序313
9.2.8 子查询314
9.2.9 批量更新与删除314
9.3 小结315
第10章 事务与并发317
10.1 事务概念317
10.2 声明事务边界318
10.2.1 在数据库中声明
事务边界318
10.2.2 在JDBC中声明
事务边界320
10.2.3 在JTA中声明
事务边界321
10.2.4 在Hibernate中声明
事务边界323
10.3 事务与Session的关系327
10.4 事务隔离级别329
10.5 Hibernate并发控制330
10.5.1 悲观锁定331
10.5.2 乐观锁定332
10.5.3 session的lock方法与
update方法的区别340
10.6 最佳实践——怎样划分事务341
10.7 小结344
第11章 理解Hibernate缓存346
11.1 缓存原理346
11.2 Hibernate缓存349
11.2.1 Hibernate一级缓存350
11.2.2 Hibernate二级缓存352
11.2.3 第三方缓存实现354
11.2.4 缓存并发策略358
11.2.5 最佳实践——二级缓存
的应用360
11.2.6 Hibernate查询缓存363
11.2.7 最佳实践——查询缓存
的应用366
11.3 不要放任缓存增长366
11.3.1 精确控制缓存失效
策略367
11.3.2 大数据量处理及时
清除缓存368
11.4 使用OSCache进行缓存370
11.4.1 OSCache介绍370
11.4.2 使用OSCache370
11.4.3 OSCache集群
缓存支持374
11.5 小结377
第12章 通过Spring访问
Hibernate378
12.1 简化Hibernate使用难度378
12.1.1 会话管理的困难379
12.1.2 业界流行做法382
12.1.3 集中管理Session386
12.1.4 最佳实践391
12.2 Spring的Hibernate支持392
12.2.1 Hibernate SessionFactory
注入393
12.2.2 借助模板访问
Hibernate397
12.2.3 回调Callback机制402
12.2.4 HibernateDaoSupport
支持405
12.2.5 异常处理406
12.3 Spring事务支持408
12.3.1 事务声明408
12.3.2 编程式事务管理411
12.3.3 声明式事务管理416
12.3.4 事务管理策略423
12.3.5 最佳实践426
12.4 小结428
第13章 DAO透明持久化429
13.1 DAO模式核心思想429
13.1.1 DAO模式中的对象430
13.1.2 数据访问对象431
13.1.3 业务对象432
13.1.4 传输对象433
13.2 基于DAO模式的Hibernate
设计433
13.2.1 DAO模式设计434
13.2.2 DAO接口设计439
13.2.3 采用范型的DAO
接口设计440
13.3 DAO设计策略444
13.3.1 事务的界定445
13.3.2 DAO和透明持久化446
13.3.3 数据访问操作的粒度450
13.3.4 透明持久化和
对象状态451
13.3.5 DAO中域对象
状态维护452
13.4 DAO模式注意事项453
13.5 不要让应用局限于Hibernate453
13.5.1 使用Hibernate的
局限性455
13.6 小结456
第14章 Web应用中的
Hibernate457
14.1 Web应用分层中的Hibernate457
14.1.1 MVC模式457
14.1.2 Web应用分层460
14.2 Struts与Hibernate的最佳结合462
14.2.1 Struts中的ActionForm463
14.2.2 集成ActionForm
与POJO467
14.2.3 使用Spring建立桥梁472
14.3 让分页不再是烦恼476
14.3.1 页面分页几种方案477
14.3.2 使用Hibernate的
分页实现477
14.3.3 适配不同持久方法的
分页封装479
14.4 异常处理483
14.4.1 异常捕捉机制483
14.4.2 在何处处理异常484
14.5 使用拦截器与事件486
14.5.1 Hibernate中的拦截器486
14.5.2 Hibernate中的事件488
14.6 Struts与Spring、Hibernate
结合应用示例489
14.7 小结493
第15章 Hibernate性能494
15.1 不要使Hibernate性能
变成瓶颈494
15.1.1 Hibernate的性能担忧494
15.1.2 Hibernate的性能
优化机制495
15.1.3 提高Hibernate
启动速度503
15.2 不要掉入批量处理陷阱505
15.2.1 Hibernate批量
操作实现505
15.2.2 批量插入改进方案506
15.2.3 批量更新改进方案507
15.2.4 考虑使用无状态Session
批量操作509
15.2.5 尽可能使用DML风格
的批量操作509
15.3 Web应用中的Hibernate优化514
15.4 考虑替代方案519
15.4.1 使用iBATIS实现520
15.4.2 iBATIS持久策略520
15.4.3 Spring中集成iBATIS524
15.4.4 使用Spring中的
JdbcTemplate替代525
15.5 小结527[1] 
参考资料
词条标签:
出版物 其他书籍 书籍