图书介绍

Hibernate实战 第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Hibernate实战 第2版
  • (德)ChristianBauer,(澳)GavinKing著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115174482
  • 出版时间:2008
  • 标注页数:609页
  • 文件大小:230MB
  • 文件页数:635页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Hibernate实战 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 从Hibernate和EJB 3.0开始第1章 理解对象/关系持久化2

1.1 什么是持久化3

1.1.1 关系数据库3

1.1.2 理解SQL4

1.1.3 在Java中使用SQL5

1.1.4 面向对象应用程序中的持久化5

1.2 范式不匹配6

1.2.1 粒度问题8

1.2.2 子类型问题9

1.2.3 同一性问题10

1.2.4 与关联相关的问题11

1.2.5 数据导航的问题12

1.2.6 不匹配的代价13

1.3 持久层和其他层14

1.3.1 分层架构14

1.3.2 用SQL/JDBC手工编写持久层15

1.3.3 使用序列化16

1.3.4 面向对象的数据库系统16

1.3.5 其他选项17

1.4 ORM17

1.4.1 什么是ORM17

1.4.2 一般的ORM问题19

1.4.3 为什么选择ORM19

1.4.4 Hibernate、EJB 3和JPA简介21

1.5 小结24

第2章 启动项目25

2.1 启动Hibernate项目25

2.1.1 选择开发过程26

2.1.2 建立项目28

2.1.3 Hibernate配置和启动34

2.1.4 运行和测试应用程序42

2.2 启动Java Persistence项目48

2.2.1 使用Hibernate Annotations48

2.2.2 使用Hibernate EntityManager51

2.2.3 引入EJB组件57

2.2.4 切换到Hibernate接口62

2.3 反向工程遗留数据库64

2.3.1 创建数据库配置64

2.3.2 定制反向工程65

2.3.3 生成Java源代码67

2.4 与Java EE服务整合69

2.4.1 与JTA整合70

2.4.2 JNDI绑定的SessionFactory73

2.4.3 JMX服务部署75

2.5 小结75

第3章 领域模型和元数据77

3.1 CaveatEmptor应用程序77

3.1.1 分析业务领域78

3.1.2 CaveatEmptor领域模型78

3.2 实现领域模型80

3.2.1 处理关注点渗漏81

3.2.2 透明和自动持久化81

3.2.3 编写POJO和持久化实体类82

3.2.4 实现POJO关联84

3.2.5 把逻辑添加到访问方法88

3.3 ORM元数据89

3.3.1 XML中的元数据89

3.3.2 基于注解的元数据91

33.3 使用XDoclet95

3.3.4 处理全局的元数据97

3.3.5 运行时操作元数据101

3.4 其他实体表示法102

3.4.1 创建动态的应用程序103

3.4.2 表示XML中的数据108

3.5 小结112

第二部分 映射概念和策略114

第4章 映射持久化类114

4.1 理解实体和值类型114

4.1.1 细粒度的领域模型114

4.1.2 定义概念115

4.1.3 识别实体和值类型115

4.2 映射带有同一性的实体117

4.2.1 理解Java同一性和等同性117

4.2.2 处理数据库同一性117

4.2.3 数据库主键120

4.3 类映射选项123

4.3.1 动态的SQL生成123

4.3.2 使实体不可变124

4.3.3 给查询命名实体125

4.3.4 声明包名称125

4.3.5 用引号把SQL标识符括起来126

4.3.6 实现命名约定126

4.4 细粒度的模型和映射127

4.4.1 映射基础属性128

4.4.2 映射组件133

4.5 小结137

第5章 继承和定制类型139

5.1 映射类继承139

5.1.1 每个带有隐式多态的具体类一张表140

5.1.2 每个带有联合的具体类一张表142

5.1.3 每个类层次结构一张表145

5.1.4 每个子类一张表148

5.1.5 混合继承策略151

5.1.6 选择策略154

5.2 Hibernate类型系统155

5.2.1 概述实体和值类型155

5.2.2 内建的映射类型156

5.2.3 使用映射类型160

5.3 创建定制的映射类型161

5.3.1 考虑定制的映射类型161

5.3.2 扩展点162

5.3.3 定制映射类型的案例163

5.3.4 创建UserType164

5.3.5 创建CompositeUserType166

5.3.6 参数化定制类型169

5.3.7 映射枚举171

5.4 小结175

第6章 映射集合和实体关联177

6.1 值类型的set、bag、list和map177

6.1.1 选择集合接口178

6.1.2 映射set179

6.1.3 映射标识符bag180

6.1.4 映射list181

6.1.5 映射map182

6.1.6 排序集合和有序集合183

6.2 组件的集合185

6.2.1 编写组件类185

6.2.2 映射集合186

6.2.3 启用双向导航186

6.2.4 避免非空列187

6.3 用注解映射集合189

6.3.1 基本的集合映射189

6.3.2 排序集合和有序集合190

6.3.3 映射嵌入式对象的集合191

6.4 映射父/子关系192

6.4.1 多样性193

6.4.2 最简单的可能关联193

6.4.3 使关联双向195

6.4.4 级联对象状态197

6.5 小结203

第7章 高级实体关联映射204

7.1 单值的实体关联204

7.1.1 共享的主键关联205

7.1.2 一对一的外键关联208

7.1.3 用联结表映射210

7.2 多值的实体关联213

7.2.1 一对多关联214

7.2.2 多对多关联219

7.2.3 把列添加到联结表223

7.2.4 映射map229

7.3 多态关联231

7.3.1 多态的多对一关联232

7.3.2 多态集合233

7.3.3 对联合的多态关联234

7.3.4 每个具体类一张多态表236

7.4 小结238

第8章 遗留数据库和定制SQL239

8.1 整合遗留数据库239

8.1.1 处理主键240

8.1.2 带有公式的任意联结条件250

8.1.3 联结任意的表254

8.1.4 使用触发器257

8.2 定制SQL260

8.2.1 编写定制CRUD语句261

8.2.2 整合存储过程和函数265

8.3 改进Schema DDL271

8.3.1 定制SQL名称和数据类型271

8.3.2 确保数据一致性273

8.3.3 添加领域约束和列约束274

8.3.4 表级约束276

8.3.5 数据库约束278

8.3.6 创建索引279

8.3.7 添加辅助的DDL280

8.4 小结282

第三部分 会话对象处理284

第9章 使用对象284

9.1 持久化生命周期284

9.1.1 对象状态285

9.1.2 持久化上下文287

9.2 对象同一性和等同性289

9.2.1 引入对话289

9.2.2 对象同一性的范围290

9.2.3 脱管对象的同一性292

9.2.4 扩展持久化上下文296

9.3 Hibernate接口296

9.3.1 保存和加载对象297

9.3.2 使用脱管对象302

9.3.3 管理持久化上下文306

9.4 JPA308

9.4.1 保存和加载对象309

9.4.2 使用脱管的实体实例312

9.5 在EJB组件中使用Java Persistence315

9.5.1 注入EntityManager315

9.5.2 查找EntityManager317

9.5.3 访问EntityManagerFactory318

9.6 小结319

第10章 事务和并发320

10.1 事务本质320

10.1.1 数据库和系统事务321

10.1.2 Hibernate应用程序中的事务323

10.1.3 使用Java Persistence的事务331

10.2 控制并发访问334

10.2.1 理解数据库级并发334

10.2.2 乐观并发控制338

10.2.3 获得额外的隔离性保证343

10.3 非事务数据访问346

10.3.1 揭开自动提交的神秘面纱346

10.3.2 使用Hibernate非事务地工作347

10.3.3 使用JTA的可选事务349

10.4 小结349

第11章 实现对话351

11.1 传播Hibernate Session351

11.1.1 Session传播的用例352

11.1.2 通过线程局部传播353

11.1.3 利用JTA传播355

11.1.4 利用EJB传播356

11.2 利用Hibernate的对话357

11.2.1 提供对话保证357

11.2.2 利用脱管对象的对话358

11.2.3 给对话扩展Session360

11.3 使用JPA的对话366

11.3.1 Java SE中的持久化上下文传播367

11.3.2 在对话中合并脱管对象368

11.3.3 在Java SE中扩展持久化上下文369

11.4 使用EJB 3.0的对话373

11.4.1 使用EJB的上下文传播373

11.4.2 利用EJB扩展持久化上下文376

11.5 小结380

第12章 有效修改对象381

12.1 传播性持久化381

12.1.1 按可到达性持久化382

12.1.2 把级联应用到关联383

12.1.3 使用传播性状态386

12.1.4 利用JPA的传播性关联391

12.2 大批量和批量操作392

12.2.1 使用HQL和JPA QL的大批量语句392

12.2.2 利用批量处理395

12.2.3 使用无状态的会话397

12.3 数据过滤和拦截398

12.3.1 动态数据过滤399

12.3.2 拦截Hibernate事件402

12.3.3 内核事件系统408

12.3.4 实体监听器和回调410

12.4 小结411

第13章 优化抓取和高速缓存412

13.1 定义全局抓取计划412

13.1.1 对象获取选项412

13.1.2 延迟的默认抓取计划415

13.1.3 理解代理415

13.1.4 禁用代理生成417

13.1.5 关联和集合的即时加载418

13.1.6 通过拦截延迟加载420

13.2 选择抓取策略422

13.2.1 批量预抓取数据422

13.2.2 通过子查询预抓取集合424

13.2.3 通过联结即时抓取425

13.2.4 给二级表优化抓取428

13.2.5 优化指导方针430

13.3 高速缓存基本原理436

13.3.1 高速缓存策略和范围436

13.3.2 Hibernate高速缓存架构439

13.4 高速缓存实践442

13.4.1 选择并发控制策略442

13.4.2 理解高速缓存区域444

13.4.3 设置本地的高速缓存提供程序445

13.4.4 设置重复的高速缓存446

13.4.5 控制二级高速缓存449

13.5 小结451

第14章 利用HQL和JPA QL查询452

14.1 创建和运行查询452

14.1.1 准备查询453

14.1.2 执行查询460

14.1.3 使用具名查询463

14.2 基本的HQL和JPA QL查询465

14.2.1 选择466

14.2.2 限制467

14.2.3 投影472

14.3 联结、报表查询和子查询473

14.3.1 联结关系和关联473

14.3.2 报表查询482

14.3.3 利用子查询485

14.4 小结487

第15章 高级查询选项488

15.1 利用条件和示例查询488

15.1.1 基本的条件查询489

15.1.2 联结和动态抓取493

15.1.3 投影和报表查询497

15.1.4 按示例查询500

15.2 利用原生的SQL查询503

15.2.1 自动的结果集处理503

15.2.2 获取标量值504

15.2.3 Java Persistence中的原生SQL505

15.3 过滤集合507

15.4 高速缓存查询结果508

15.4.1 启用查询结果高速缓存509

15.4.2 理解查询高速缓存509

15.4.3 什么时候使用查询高速缓存510

15.4.4 自然标识符高速缓存查找511

15.5 小结512

第16章 创建和测试分层的应用程序513

16.1 Web应用程序中的Hibernate513

16.1.1 用例简介514

16.1.2 编写控制器514

16.1.3 OSIV模式516

16.1.4 设计巧妙的领域模型518

16.2 创建持久层521

16.2.1 泛型的数据访问对象模式521

16.2.2 实现泛型CRUD接口523

16.2.3 实现实体DAO525

16.2.4 利用数据访问对象526

16.3 命令模式简介529

16.3.1 基础接口530

16.3.2 执行命令对象531

16.3.3 命令模式的变形533

16.4 利用EJB 3.0设计应用程序534

16.4.1 利用有状态的bean实现会话534

16.4.2 利用EJB编写DAO536

16.4.3 利用依赖注入537

16.5 测试538

16.5.1 理解不同种类的测试539

16.5.2 TestNG简介539

16.5.3 测试持久层542

16.5.4 考虑性能基准549

16.6 小结550

第17章 JBoss Seam简介551

17.1 Java EE 5.0编程模型551

17.1.1 JSF详解552

17.1.2 EJB 3.0详解553

17.1.3 用JSF和EJB 3.0编写Web应用程序554

17.1.4 分析应用程序562

17.2 用Seam改善应用程序564

17.2.1 配置Seam565

17.2.2 将页面绑定到有状态的Seam组件566

17.2.3 分析Seam应用程序570

17.3 理解上下文组件575

17.3.1 编写登录页面575

17.3.2 创建组件577

17.3.3 给上下文变量起别名579

17.3.4 完成登录/注销特性580

17.4 验证用户输入583

17.4.1 Hibernate Validator简介584

17.4.2 创建注册页面584

17.4.3 用Seam实现国际化591

17.5 利用Seam简化持久化594

17.5.1 实现对话595

17.5.2 让Seam管理持久化上下文601

17.6 小结604

附录A SQL基础知识606

附录B 映射快速参考609

热门推荐