词条 | Pro JPA2中文版:精通Java持久化API |
释义 | 基本信息作者:基恩(Mike Keith)(作者), 席卡里尔(Schincariol.M.)(作者), 巢文涵(译者) 出版社: 清华大学出版社; 第1版 (2011年10月1日) 外文书名: Pro JPA 2: Mastering the Java(TM) Persistence API 平装: 460页 正文语种: 简体中文 开本: 16 ISBN: 9787302258025 条形码: 9787302258025 商品尺寸: 25.6 x 18.4 x 2.4 cm 商品重量: 762 g 内容简介《Pro JPA2中文版:精通Java持久化API》上一版的目标之一是尽可能地简单明了,但是不短缺。我们尽力调整了它的大小,从而只描述我们感觉值得讲述的内容,但是依然确保适合在您的行李中携带《Pro JPA2中文版:精通Java持久化API》,以便于您在公共汽车或火车上阅读。然而,为了能够保持我们在第1版中所有的材料,同时添加两个章节和更多的功能,这看起来确实像是苛求。注解引用成为了这个要求的受害者。 编辑推荐《Pro JPA2中文版:精通Java持久化API》:明确指导使用新的JPA 2创建健壮的,数据驱动的应用程序。 媒体推荐令人难以置信的是,自从初始的Java持久化API 1.0版本发布以来,已经过去了三年。此间,我们目睹了它由成熟的API转变成主流的持久化标准。与此同时,许多读者使用本书的上一个版本作为掌握JPA的起点,很高兴我们在此过程中对您有所帮助! JPA 2.0包括了一系列新特性,例如,其他的对象关系映射、更灵活的对象建模、类型化查询以及崭新的条件API等。由于有很多内容需要讨论,因此我们很兴奋能够更新其内容,解释所有新特性,而且还包括了一些提示和技巧来帮助您在实践中使用API。 如果您已经具备使用JPA 1.0的经验,那么应该能够从在JPA2.0中添加一个新特性时所指出的版本提示中获益。这些提示旨在帮助用户编写一个JPA 1.0实现,但还不能使用2.0特性。 对于JPA新手来说,大可不必担心会被遗忘。我们依然坚持最初的意图:把没有任何JPA基础的人训练成JPA高级开发人员。在《Pro JPA 2中文版:精通Java持久化API》的前两章中,您应该能够快速掌握入门所需的知识(资深的JPA编程人员可以从第3章开始)。最后,我们要表示感谢,因为是您使得本书的上一个版本如此成功。我们非常高兴它已经成为JPA开发人员的主要参考资源,希望您能够发现《Pro JPA 2中文版:精通Java持久化API》具有同样的价值。 ——Mike Keith(JPA2.0专家组成员)和Merrick Schincariol 作者简介作者:(加拿大)基恩 (Mike Keith) (加拿大)席卡里尔 (Schincariol.M.) 译者:巢文涵 基恩,是JPA l.0的共同规范领导(co-specification lead),也是JPA 2.0专家组的活跃成员。他是许多其他JCP(Java Community Process)专家组的成员,包括JSR 316、Java EE6平台规范,以及OSGi Alliance的企业专家组(Enterprise Expert Group,EEG)。他获得了卡尔顿(Carleton)大学的计算机科学硕士学位,并且在持久性和分布式系统的研究与实践方面拥有20多年的经验。他撰写了许多关于JPA的论文和文章,并在世界各地的众多会议中发表过演讲。他也是一名资深的Oracle架构师。 席卡里尔,是一名Oracle顾问工程师,擅长中间件技术。他获得了湖首(Lakehead)大学的计算机科学学士学位,拥有十年以上的企业软件开发经验。在转向编写Java和J2EE应用程序之前,他在前Java企业(pre-Java enterprise)和商业智能领域从事咨询工作。Merrick在大型系统和数据仓库设计方面拥有丰富的经验,这使他能够从一个成熟和实践的角度来看待企业软件,从而为他后来从事EJB容器实现的工作奠定了基础。他还是Oracle EJB 3.0实现的首席工程师。 目录第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 使用无状态会话bean 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 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。