《Pro JPA 2中文版 精通Java持久化API》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(加拿大)Mike Keith,(加拿大)Merrick Schincariol著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302258025
  • 页数:460 页
图书介绍:本书是Java持久化API的全面指南。

第1章 简介 1

1.1 对象-关系映射 1

1.2 Java持久化支持 7

1.2.1 专用解决方案 7

1.2.2 JDBC 7

1.2.3 企业JavaBean 8

1.2.4 Java数据对象 8

1.3 为什么需要另一种标准 9

1.4 Java持久化API 10

1.4.1 规范的历史 10

1.4.2 概述 11

1.5 本章小结 13

第2章 入门 14

2.1 实体概述 14

2.1.1 持久性 14

2.1.2 标识 15

2.1.3 事务性 15

2.1.4 粒度 15

2.2 实体元数据 16

2.2.1 注解 16

2.2.2 XML 16

2.2.3 异常配置 16

2.3 创建实体 17

2.4 实体管理器 19

2.4.1 获取实体管理器 20

2.4.2 持久化实体 20

2.4.3 寻找实体 21

2.4.4 删除实体 22

2.4.5 更新实体 22

2.4.6 事务 23

2.4.7 查询 24

2.5 汇总 25

2.6 组装 27

2.6.1 持久化单元 27

2.6.2 持久化存档文件 28

2.7 本章小结 28

第3章 企业应用程序 30

3.1 应用程序组件模型 30

3.2 会话bean 31

3.2.1 无状态会话bean 32

3.2.2 有状态会话bean 35

3.2.3 单例会话bean 38

3.3 消息驱动bean 41

3.4 servlet 42

3.5 依赖性管理 43

3.5.1 依赖性查找 43

3.5.2 依赖性注入 45

3.5.3 声明依赖性 47

3.6 事务管理 49

3.6.1 事务概述 50

3.6.2 Java中的企业事务 50

3.7 使用Java EE组件 55

3.7.1 使用无状态会话9ean 55

3.7.2 使用有状态会话bean 56

3.7.3 使用单例会话bean 57

3.7.4 使用消息驱动bean 57

3.7.5 添加实体管理器 58

3.8 汇总 59

3.8.1 定义组件 59

3.8.2 定义用户接口 61

3.8.3 组装 61

3.9 本章小结 62

第4章 对象-关系映射 64

4.1 持久化注解 64

4.2 访问实体状态 65

4.2.1 字段访问 65

4.2.2 属性访问 66

4.2.3 混合访问 66

4.3 映射到表 68

4.4 映射简单类型 69

4.4.1 列映射 70

4.4.2 延迟提取 71

4.4.3 大型对象 72

4.4.4 枚举类型 73

4.4.5 时间类型 74

4.4.6 瞬态 75

4.5 映射主键 76

4.5.1 重写主键列 76

4.5.2 主键类型 76

4.5.3 标识符生成 76

4.6 关系 81

4.6.1 关系概念 81

4.6.2 映射概述 84

4.6.3 单值关联 84

4.6.4 集合值关联 88

4.6.5 延迟关系 94

4.7 嵌入对象 94

4.8 本章小结 98

第5章 集合映射 99

5.1 关系和元素集合 99

5.2 使用不同的集合类型 102

5.2.1 Set或者Collection 102

5.2.2 List 103

5.2.3 Map 106

5.2.4 重复 117

5.2.5 Null值 118

5.3 最佳实践 119

5.4 本章小结 120

第6章 实体管理器 121

6.1 持久化上下文 121

6.2 实体管理器 122

6.2.1 容器托管的实体管理器 122

6.2.2 应用程序托管的实体管理器 126

6.3 事务管理 128

6.3.1 JTA事务管理 129

6.3.2 资源本地的事务 137

6.3.3 事务回滚和实体状态 139

6.4 选择实体管理器 140

6.5 实体管理器操作 140

6.5.1 持久化实体 140

6.5.2 寻找实体 142

6.5.3 删除实体 142

6.5.4 级联操作 143

6.5.5 清除持久化上下文 146

6.6 与数据库同步 147

6.7 分离和合并 149

6.7.1 分离 149

6.7.2 合并分离的实体 151

6.7.3 与分离实体一起工作 154

6.8 本章小结 166

第7章 使用查询 167

7.1 Java持久化查询语言 167

7.1.1 入门 168

7.1.2 筛选结果 169

7.1.3 投影结果 169

7.1.4 实体之间的联接 169

7.1.5 聚合查询 170

7.1.6 查询参数 170

7.2 定义查询 171

7.2.1 动态查询定义 171

7.2.2 命名查询定义 173

7.3 参数类型 175

7.4 执行查询 177

7.4.1 使用查询结果 178

7.4.2 查询分页 182

7.4.3 查询与未提交的更改 184

7.4.4 查询超时 186

7.5 批量更新和删除 187

7.5.1 使用批量更新和删除 187

7.5.2 批量删除和关系 189

7.6 查询提示 190

7.7 查询的最佳实践 191

7.7.1 命名查询 191

7.7.2 报告查询 192

7.7.3 供应商提示 192

7.7.4 无状态会话bean 192

7.7.5 批量更新和删除 193

7.7.6 提供程序的区别 193

7.8 本章小结 193

第8章 查询语言 195

8.1 简介 195

8.1.1 术语 195

8.1.2 示例数据模型 196

8.1.3 示例应用程序 197

8.2 选择查询 199

8.2.1 SELECT子句 200

8.2.2 FROM子句 203

8.2.3 WHERE子句 210

8.2.4 标量表达式 215

8.2.5 ORDER BY子句 219

8.3 聚合查询 220

8.3.1 聚合函数 222

8.3.2 GROUP BY子句 222

8.3.3 HAVING子句 223

8.4 更新查询 223

8.5 删除查询 224

8.6 本章小结 225

第9章 条件API 226

9.1 概述 226

9.1.1 条件API 226

9.1.2 参数化类型 227

9.1.3 动态查询 228

9.2 构建条件API查询 231

9.2.1 创建查询定义 231

9.2.2 基本结构 232

9.2.3 条件对象和可变性 233

9.2.4 查询根和路径表达式 233

9.2.5 SELECT子句 235

9.2.6 FROM子句 238

9.2.7 WHERE子句 240

9.2.8 构建表达式 240

9.2.9 ORDER BY子句 251

9.2.10 GROUP BY和HAVING子句 251

9.3 强类型查询定义 251

9.3.1 元模型API 252

9.3.2 强类型的API概述 253

9.3.3 规范化元模型 254

9.3.4 选择正确的查询类型 256

9.4 本章小结 257

第10章 高级对象-关系映射 258

10.1 表和列名 258

10.2 复杂的嵌入对象 259

10.2.1 高级嵌入映射 260

10.2.2 重写嵌入关系 261

10.3 复合主键 262

10.3.1 id类 263

10.3.2 嵌入id类 264

10.4 派生标识符 266

10.4.1 派生标识符的基本规则 267

10.4.2 共享主键 267

10.4.3 多个映射特性 269

10.4.4 使用EmbeddedId 270

10.5 高级映射元素 272

10.5.1 只读映射 272

10.5.2 可选性 273

10.6 高级关系 274

10.6.1 使用联接表 274

10.6.2 避免联接表 275

10.6.3 复合联接列 276

10.6.4 孤儿删除 278

10.6.5 映射关系状态 279

10.7 多个表 281

10.8 继承 284

10.8.1 类层次结构 284

10.8.2 继承模型 288

10.8.3 混合继承 294

10.9 本章小结 296

第11章 高级主题 298

11.1 SQL查询 298

11.1.1 本地查询与JDBC 299

11.1.2 定义和执行SQL查询 301

11.1.3 SQL结果集映射 303

11.1.4 参数绑定 309

11.2 生命周期回调 309

11.2.1 生命周期事件 309

11.2.2 回调方法 310

11.2.3 实体侦听器 312

11.2.4 继承和生命周期事件 314

11.3 验证 319

11.3.1 使用约束 319

11.3.2 调用验证 321

11.3.3 验证组 321

11.3.4 创建新的约束 323

11.3.5 JPA中的验证 325

11.3.6 启用验证 326

11.3.7 设置生命周期的验证组 326

11.4 并发性 327

11.4.1 实体操作 327

11.4.2 实体访问 328

11.5 刷新实体状态 328

11.6 锁定 331

11.6.1 乐观锁定 331

11.6.2 悲观锁定 341

11.7 缓存 344

11.7.1 通过层排序 344

11.7.2 共享缓存 346

11.8 Utility类 350

11.8.1 PersistenceUtil 351

11.8.2 PersistenceUnitUtil 351

11.9 本章小结 352

第12章 XML映射文件 353

12.1 元数据困惑 354

12.2 映射文件 354

12.2.1 禁用注解 355

12.2.2 持久化单元默认值 357

12.2.3 映射文件默认值 360

12.2.4 查询和生成器 362

12.2.5 托管类和映射 366

12.3 本章小结 387

第13章 包装和部署 388

13.1 配置持久化单元 388

13.1.1 持久化单元的名称 389

13.1.2 事务类型 389

13.1.3 持久化提供程序 389

13.1.4 数据源 390

13.1.5 映射文件 391

13.1.6 托管类 392

13.1.7 共享缓存模式 394

13.1.8 验证架构 395

13.1.9 添加供应商属性 395

13.2 构建和部署 396

13.2.1 部署类路径 396

13.2.2 包装选项 397

13.2.3 持久化单元的范围 401

13.3 服务器外部 402

13.3.1 配置持久化单元 402

13.3.2 在运行时指定属性 404

13.3.3 系统类路径 404

13.4 架构生成 405

13.4.1 唯一约束 405

13.4.2 null约束 406

13.4.3 基于字符串的列 406

13.4.4 浮点列 407

13.4.5 定义列 407

13.5 本章小结 408

第14章 测试 410

14.1 测试企业应用程序 410

14.1.1 术语 411

14.1.2 在服务器外部测试 412

14.1.3 测试架构 413

14.2 单元测试 413

14.2.1 测试实体 414

14.2.2 测试组件中的实体 415

14.2.3 单元测试中的实体管理器 417

14.3 集成测试 420

14.3.1 使用实体管理器 420

14.3.2 组件和持久化 426

14.4 最佳实践 436

14.5 本章小结 436

第15章 迁移 438

15.1 从CMP实体bean迁移 438

15.1.1 划定挑战的范围 439

15.1.2 实体bean转换 440

15.2 从JDBC迁移 448

15.3 从其他的ORM解决方案迁移 449

15.4 利用设计模式 449

15.4.1 传输对象 450

15.4.2 会话外观 453

15.4.3 数据访问对象 455

15.4.4 业务对象 459

15.4.5 快车道读者 459

15.4.6 活动记录 460

15.5 本章小结 460