登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』Hibernate实战(第2版)

書城自編碼: 2899875
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: [德]Christian Bauer,[澳]Gavin Ki
國際書號(ISBN): 9787302448082
出版社: 清华大学出版社
出版日期: 2016-09-01
版次: 1 印次: 1
頁數/字數: 532/809000
書度/開本: 18开 釘裝: 平装

售價:NT$ 660

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
新质生产力
《 新质生产力 》

售價:NT$ 381.0
沙盘游戏疗法
《 沙盘游戏疗法 》

售價:NT$ 498.0
图坦卡蒙和改变世界的陵墓
《 图坦卡蒙和改变世界的陵墓 》

售價:NT$ 447.0
儿童心理画:孩子的画会说话,孩子的画这样读
《 儿童心理画:孩子的画会说话,孩子的画这样读 》

售價:NT$ 386.0
朱雀:唐代的南方意向
《 朱雀:唐代的南方意向 》

售價:NT$ 498.0
海外中国研究·古代中华观念的形成
《 海外中国研究·古代中华观念的形成 》

售價:NT$ 437.0
街头官僚:公共服务中的个人困境(公共行政与公共管理经典译丛;“十二五”国家重点图书出版规划项目)
《 街头官僚:公共服务中的个人困境(公共行政与公共管理经典译丛;“十二五”国家重点图书出版规划项目) 》

售價:NT$ 493.0
芯片战争:世界最关键技术的争夺战
《 芯片战争:世界最关键技术的争夺战 》

售價:NT$ 717.0

建議一齊購買:

+

NT$ 518
《 深入浅出MyBatis技术原理与实战 》
+

NT$ 338
《 用Python写网络爬虫 》
+

NT$ 338
《 供应商关系管理——机会与价值最大化 》
+

NT$ 668
《 Spring实战(第4版) 》
+

NT$ 668
《 JavaEE开发的颠覆者: Spring Boot实战 》
+

NT$ 662
《 布光是门大学问——Christian Hough的超霸气影棚人像摄影(全彩) 》
編輯推薦:
本书分为五个主要部分。在第Ⅰ部分ORM入门中,我们将探讨对象关系映射背后的基础。第Ⅱ部分映射策略专注于Java类及其属性,以及它们如何映射到SQL表和列。第Ⅲ部分事务性数据处理完全与使用Hibernate和Java持久化加载与存储数据有关。第Ⅳ部分编写查询将介绍数据查询功能,并详尽讲解查询语言和API。第Ⅴ部分构建应用程序将探讨分层和有会话意识的Java数据库应用程序的设计与实现。
內容簡介:
持久化数据在程序实例之外留存的功能是现代应用程序的核心。Hibernate是最流行的Java持久化工具,提供了自动且透明的对象关系映射,使得在Java应用程序中使用SQL数据库变得轻而易举。
《Hibernate实战第2版》通过开发一个将数百个单独示例联系起来的应用程序来探究Hibernate。你将直接深入到Hibernate的富编程模型之中,贯穿映射、查询、抓取策略、事务、会话、缓存以及更多其他内容。书中图文并茂地介绍了数据库设计和优化技术的最佳实践。在本书中,作者详尽介绍了具有Java持久化2.1标准的Hibernate 5JSR 338。所有的示例都已经被更新,以便用于最新的Hibernate和Java EE规范版本。
主要内容
◆ 对象关系映射概念
◆ 有效的数据库应用程序设计
◆ 全面的Hibernate与Java持久化介绍
◆ Java持久化与EJB、CDI、JSF和JAX-RS的集成
◆ 无与伦比的广度和深度
本书假设读者具有Java的使用经验。
關於作者:
作者简介Christian Bauer是Hibernate开发团队的成员,并且是一位培训师和顾问。Gavin King是Hibernate之父,也是Java持久化专家组JSR 220的成员。Gary Gregory是应用程序服务器和既有系统集成的首席软件工程师。
目錄
第Ⅰ部分 ORM入门
第1章 理解对象关系持久化 1
1.1 持久化的定义 4
1.1.1 关系型数据库 4
1.1.2 理解SQL 5
1.1.3 在Java中使用SQL 5
1.2 范式不匹配 7
1.2.1 粒度问题 8
1.2.2 子类型问题 10
1.2.3 标识问题 11
1.2.4 与关联相关的问题 12
1.2.5 数据导航的问题 13
1.3 ORM和JPA 14
1.4 本章小结 15
第2章 开启一个项目 17
2.1 Hibernate介绍 17
2.2 使用JPA的Hello World 18
2.2.1 配置一个持久化单元 18
2.2.2 编写一个持久化类 20
2.2.3 存储和加载消息 21
2.3 原生Hibernate配置 23
2.4 本章小结 26
第3章 域模型和元数据 27
3.1 CaveatEmptor示例应用程序 28
3.1.1 一个分层架构 28
3.1.2 分析业务域 29
3.1.3 CaveatEmptor域模型 30
3.2 实现域模型 31
3.2.1 处理关注点渗漏 31
3.2.2 透明及自动持久化 32
3.2.3 编写可持久化类 33
3.2.4 实现POJO关联 36
3.3 域模型元数据 39
3.3.1 基于注解的元数据 40
3.3.2 应用Bean验证规则 42
3.3.3 使用XML文件外部化元数据 45
3.3.4 在运行时访问元数据 48
3.4 本章小结 51
第Ⅱ部分 映射策略
第4章 映射持久化类 55
4.1 理解实体和值类型 55
4.1.1 细粒度域模型 55
4.1.2 定义应用程序概念 56
4.1.3 区分实体和值类型 57
4.2 映射具有标识的实体 58
4.2.1 理解Java标识和相等性 58
4.2.2 第一个实体类和映射 59
4.2.3 选择一个主键 60
4.2.4 配置键生成器 61
4.2.5 标识符生成器策略 63
4.3 实体映射选项 66
4.3.1 控制名称 66
4.3.2 动态SQL生成 69
4.3.3 让实体不可变 69
4.3.4 将一个实体映射到子查询 70
4.4 本章小结 71
第5章 映射值类型 73
5.1 映射基本属性 73
5.1.1 重写基本属性的默认设置 74
5.1.2 自定义属性访问 75
5.1.3 使用派生属性 77
5.1.4 转换列值 77
5.1.5 生成的以及默认的属性值 78
5.1.6 时序属性 79
5.1.7 映射枚举 80
5.2 映射可嵌入组件 80
5.2.1 数据库架构 81
5.2.2 让类可嵌入 81
5.2.3 重写嵌入属性 84
5.2.4 映射嵌套的可嵌入组件 85
5.3 使用转换器映射Java和SQL类型 87
5.3.1 内置类型 87
5.3.2 创建自定义JPA转换器 92
5.3.3 使用UserTypes扩展Hibernate
98
5.4 本章小结 104
第6章 映射继承关系 105
6.1 每个带有隐式多态的具体类使用一个表 105
6.2 每个带有联合的具体类使用一个表 107
6.3 每个类层次结构使用一个表 109
6.4 每个带有联结的子类使用一个表 112
6.5 混合继承策略 115
6.6 可嵌入类的继承 117
6.7 选择一种策略 119
6.8 多态关联 120
6.8.1 多态多对一关联 121
6.8.2 多态集合 123
6.9 本章小结 124
第7章 映射集合和实体关联 125
7.1 集、包、列表及值类型映射 125
7.1.1 数据库架构 126
7.1.2 创建和映射一个集合属性 126
7.1.3 选择集合接口 127
7.1.4 映射集 128
7.1.5 映射标识符包 129
7.1.6 映射列表 130
7.1.7 映射一个映射 132
7.1.8 排列和排序集合 132
7.2 组件集合 135
7.2.1 组件实例的相等性 136
7.2.2 组件集 138
7.2.3 组件包 139
7.2.4 组件值的映射 141
7.2.5 作为映射键的组件 142
7.2.6 可嵌入组件中的集合 143
7.3 映射实体关联 144
7.3.1 最简单的可能关联 145
7.3.2 让其变成双向的 146
7.3.3 级联状态 147
7.4 本章小结 153
第8章 高级实体关联映射 155
8.1 一对一关联 155
8.1.1 共享主键 156
8.1.2 外主键生成器 158
8.1.3 使用一个外键联结列 161
8.1.4 使用一个联结表 162
8.2 一对多关联 164
8.2.1 考虑一对多包 164
8.2.2 单向和双向列表映射 166
8.2.3 具有联结表的可选一对多 168
8.2.4 可嵌入类中的一对多关联 169
8.3 多对多和三元关联 171
8.3.1 单向和双向多对多关联 172
8.3.2 具有中间实体的多对多关联 173
8.3.3 具有组件的三元关联 177
8.4 具有映射的实体关联 180
8.4.1 具有属性键的一对多关联 180
8.4.2 键值三元关系 181
8.5 本章小结 182
第9章 复杂和遗留模式 185
9.1 改进数据库架构 186
9.1.1 添加辅助数据库对象 186
9.1.2 SQL约束 189
9.1.3 创建索引 194
9.2 处理遗留键 195
9.2.1 映射一个自然主键 195
9.2.2 映射一个组合主键 196
9.2.3 组合主键中的外键 198
9.2.4 引用组合主键的外键 201
9.2.5 引用非主键的外键 202
9.3 将属性映射到辅助表 203
9.4 本章小结 204
第Ⅲ部分 事务性数据处理
第10章 管理数据 207
10.1 持久化生命周期 207
10.1.1 实体实例状态 208
10.1.2 持久化上下文 209
10.2 EntityManager接口 211
10.2.1 规范的工作单元 211
10.2.2 使数据持久化 212
10.2.3 检索和修改持久化数据 213
10.2.4 得到一个引用 215
10.2.5 让数据变成瞬时的 216
10.2.6 刷新数据 217
10.2.7 复制数据 217
10.2.8 在持久化上下文中缓存 218
10.2.9 刷新持久化上下文 220
10.3 处理分离的状态 221
10.3.1 分离实例的标识 221
10.3.2 实现相等性方法 223
10.3.3 分离实体实例 225
10.3.4 合并实体实例 226
10.4 本章小结 227
第11章 事务和并发 229
11.1 事务的要素 229
11.1.1 ACID属性 230
11.1.2 数据库和系统事务 230
11.1.3 使用JTA的编程式事务 230
11.1.4 处理异常 232
11.1.5 声明式事务分界 234
11.2 控制并发访问 234
11.2.1 理解数据库级别的并发 235
11.2.2 乐观并发控制 239
11.2.3 显式悲观锁 245
11.2.4 避免死锁 248
11.3 非事务性数据访问 249
11.3.1 在自动提交模式中读取数据 250
11.3.2 对修改进行排队 251
11.4 本章小结 253
第12章 抓取计划、策略和配置文件 255
12.1 延迟加载和急加载 256
12.1.1 理解实体代理 256
12.1.2 延迟持久化集合 260
12.1.3 使用拦截进行延迟加载 262
12.1.4 关联和集合的急加载 264
12.2 选择一个抓取策略 266
12.2.1 n 1查询问题 266
12.2.2 笛卡尔积问题 267
12.2.3 批量预抓取数据 270
12.2.4 使用子查询预抓取集合 272
12.2.5 使用多个SELECT进行急抓取 273
12.2.6 动态急抓取 274
12.3 使用抓取配置文件 275
12.3.1 声明Hibernate抓取配置文件 276
12.3.2 使用实体图 277
12.4 本章小结 281
第13章 数据过滤 283
13.1 级联状态迁移 284
13.1.1 可用的级联选项 284
13.1.2 传递式分离与合并 285
13.1.3 级联刷新 287
13.1.4 级联复制 289
13.1.5 启用全局传递式持久化 290
13.2 侦听和拦截事件 290
13.2.1 JPA事件侦听器和回调 291
13.2.2 实现Hibernate拦截器 294
13.2.3 核心事件系统 298
13.3 使用Hibernate Envers进行
审计和版本控制 299
13.3.1 启用审计日志 300
13.3.2 创建审计追踪 301
13.3.3 找出版本 301
13.3.4 访问历史数据 303
13.4 动态数据过滤器 305
13.4.1 定义动态过滤器 306
13.4.2 应用过滤器 306
13.4.3 启用过滤器 307
13.4.4 过滤集合访问 308
13.5 本章小结 309
第IV部分 编写查询
第14章 创建和执行查询 313
14.1 创建查询 314
14.1.1 JPA查询接口 314
14.1.2 类型化查询结果 316
14.1.3 Hibernate的查询接口 316
14.2 准备查询 318
14.2.1 防止SQL注入攻击 318
14.2.2 绑定命名参数 318
14.2.3 使用定位参数 320
14.2.4 对大结果集分页 320
14.3 执行查询 322
14.3.1 列示所有结果 322
14.3.2 得到单个结果 322
14.3.3 滚动数据库游标 323
14.3.4 遍历一个结果 325
14.4 命名和外部化查询 326
14.4.1 调用一个命名查询 326
14.4.2 在XML元数据中定义查询 326
14.4.3 使用注解定义查询 327
14.4.4 编程式定义命名查询 328
14.5 查询提示 329
14.5.1 设置一个超时时长 330
14.5.2 设置刷新模式 330
14.5.3 设置只读模式 331
14.5.4 设置一个抓取大小 331
14.5.5 设置一个SQL注释 331
14.5.6 命名的查询提示 332
14.6 本章小结 333
第15章 查询语言 335
15.1 选择 336
15.1.1 指定别名和查询根 336
15.1.2 多态查询 337
15.2 限制 338
15.2.1 比较表达式 339
15.2.2 使用集合的表达式 344
15.2.3 调用函数 345
15.2.4 对查询结果排序 347
15.3 投影 348
15.3.1 实体和标量值的投影 348
15.3.2 使用动态实例化 350
15.3.3 得到唯一结果 351
15.3.4 在投影中调用函数 352
15.3.5 聚合函数 354
15.3.6 分组 355
15.4 联结 357
15.4.1 使用SQL进行联结 357
15.4.2 JPA中的联结选项 359
15.4.3 隐式关联联结 359
15.4.4 显式联结 361
15.4.5 使用联结进行动态抓取 363
15.4.6 theta风格的联结 366
15.4.7 比较标识符 367
15.5 子查询 369
15.5.1 相关与不相关的嵌套 369
15.5.2 量化 370
15.6 本章小结 371
第16章 高级查询选项 373
16.1 转换查询结果 373
16.1.1 返回一系列列表 374
16.1.2 返回一系列映射 375
16.1.3 将别名映射到bean属性 376
16.1.4 编写一个ResultTransformer
376
16.2 过滤集合 377
16.3 Hibernate条件查询API 380
16.3.1 选择和排序 380
16.3.2 限制 381
16.3.3 投影和聚合 382
16.3.4 联结 383
16.3.5 子查询 385
16.3.6 示例查询 385
16.4 本章小结 387
第17章 自定义SQL 389
17.1 回退到JDBC 390
17.2 映射SQL查询结果 391
17.2.1 使用SQL查询进行投影 392
17.2.2 映射到一个实体类 393
17.2.3 自定义结果映射 395
17.2.4 外部化原生查询 406
17.3 自定义CRUD操作 410
17.3.1 启用自定义加载器 410
17.3.2 自定义创建、更新和删除 411
17.3.3 自定义集合操作 412
17.3.4 在自定义加载器中急抓取 414
17.4 调用存储过程 417
17.4.1 返回一个结果集 418
17.4.2 返回多个结果以及更新计数 419
17.4.3 设置输入和输出参数 421
17.4.4 返回一个游标 423
17.5 将存储过程用于CRUD 425
17.5.1 自定义一个具有过程的加载器 425
17.5.2 用于CUD的过程 426
17.6 本章小结 428
第V部分 构建应用程序
第18章 设计客户端服务器应用程序 431
18.1 创建持久化层 432
18.1.1 一种通用的数据访问对象模式 433
18.1.2 实现通用接口 434
18.1.3 实现实体DAO 436
18.1.4 测试持久化层 438
18.2 构建一个无状态服务器 439
18.2.1 编辑一个拍卖商品 440
18.2.2 放置出价 442
18.2.3 分析无状态应用程序 446
18.3 构建一个状态服务器 447
18.3.1 编辑一个拍卖商品 448
18.3.2 分析状态性应用程序 452
18.4 本章小结 454
第19章 构建Web应用程序 455
19.1 集成JPA与CDI 455
19.1.1 生成一个EntityManager 456
19.1.2 将EntityManager与事务联结起来
457
19.1.3 注入一个EntityManager 458
19.2 数据的分页和排序 459
19.2.1 偏移量分页与搜寻分页对比 459
19.2.2 在持久化层中分页 461
19.2.3 逐页查询 466
19.3 构建JSF应用程序 468
19.3.1 请求作用域服务 468
19.3.2 会话作用域服务 471
19.4 序列化域模型数据 478
19.4.1 编写一个JAX-RS服务 479
19.4.2 应用JAXB映射 480
19.4.3 序列化Hibernate代理 482
19.5 本章小结 485
第20章 扩展Hibernate 487
20.1 大量和批量处理 487
20.1.1 JPQL和条件中的大批量语句 488
20.1.2 SQL中的大批量语句 492
20.1.3 批处理 493
20.1.4 Hibernate StatelessSession接口
496
20.2 缓存数据 498
20.2.1 Hibernate共享的缓存架构 498
20.2.2 配置共享缓存 502
20.2.3 启用实体和集合缓存 503
20.2.4 测试共享缓存 506
20.2.5 设置缓存模式 508
20.2.6 控制共享缓存 509
20.2.7 查询结果缓存 510
20.3 本章小结 512
內容試閱
1.1 持久化的定义几乎所有的应用程序都需要持久化数据。持久化是应用程序开发中的基本概念之一。如果一个信息系统在关机时不保存数据,则该系统就没什么实际用途。对象持久化意味着个体对象可以比应用程序进程存在得更久;它们可以保存到数据存储并在以后的某个时点重建。当我们谈论Java 中的持久化时,通常谈论的是使用SQL 在一个数据库中映射和存储对象实例。首先我们简要介绍一下该技术以及如何在Java 中使用它。了解这一信息基础,随后我们就可以继续探讨持久化以及如何在面向对象应用程序中实现它。1.1.1 关系型数据库就像大多数其他软件工程师一样,你可能已经使用过SQL 和关系型数据库;许多软件工程师每天都在处理这样的系统。关系型数据库管理系统具有基于SQL 的应用编程接口;因此,我们将如今的关系型数据库产品称为SQL 数据库管理系统DBMS,或者我们在谈论特定系统时将其称为SQL 数据库。关系技术是人们所熟知的技术,而这也成为许多组织选择它的充足理由。但要说它是唯一的理由,恐怕就不太尊重事实了。关系型数据库的应用已经根深蒂固了,因为它们对于数据管理来说是一种极具灵活性并且强健的方式。归因于对关系数据模型的深入研究的理论基础,关系型数据库可以保障和保护所存储数据的完整性,这是其众多可取特性之一。你可能对E.F. Codd 于四十多年前提出的关系模型很熟悉,即A Relational Model of Data forLarge Shared Data BanksCodd,1970 年。有一篇最近的摘要值得一读,其中专注于SQL,这就是C. J. Date 的SQL and Relational TheoryDate,2009 年。关系型DBMS 并非特定于Java,也不是特定于某特殊应用程序的一个SQL 数据库。这一重要原则称为数据独立性。换句话说,我们怎么强调如下重要事实都不过分:数据的生命周期比任何应用程序都要长久。关系技术提供了在不同应用程序或者同一整体系统的不同部分比如数据录入应用程序和报告应用程序之间共享数据的方法。关系技术是许多异构系统和技术平台的通用标准。因此,关系数据模型通常是业务实体的常用企业级表示方式的基础。在我们更详细地探究SQL 数据库的实践方面之前,必须提及一个重要问题:即便作为关系型推向市场,但一个仅仅提供SQL 数据语言接口的数据库系统并非真正的关系型数据库,并且在许多方面来说甚至与其原始概念都不相符。这自然而然会导致混淆。SQL 从业

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.