《JDO核心技术》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)Sameer Tyagi,(美)Keiron McCammon等著;侯普秀,曹振新译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302099456
  • 页数:351 页
图书介绍:本书内容为JDO概述与使用JAVA语言进行开发,JDO与JCA以及EJB的关系,使用JDO的最佳实践及案例分析,提供了补充JDO相关内容的附录。

1.4.1 非受管环境 1 1

目录 3

第Ⅰ部分 引论 3

第1章 JDO概述 3

1.1 JDO的背景 3

1.2 域对象模型 3

1.3 垂直持久性 6

1.4 非受管环境与受管环境 11

1.4.2 受管环境 11

1.5.1 JDO规范 12

1.5 角色与职责 12

1.5.2 开发人员的职责 13

1.5.3 供应商的职责 14

1.6 小结 14

第2章 对象持久性的基础 15

2.1 应用程序中的持久性 15

2.2 JDK二进制串行化 16

2.2.1 串行化API 16

2.2.2 版本控制和串行化 17

2.2.3 需要使用对象串行化的情况 19

2.3.1 类和表 20

2.2.4 不需要使用对象串行化的情况 20

2.3 对象-关系映射 20

2.3.2 字符串、日期以及其他类型的映射 21

2.3.3 继承映射 22

2.3.4 安全性 25

2.3.5 查询语言转换 25

2.3.6 引用完整性、删除以及其他 25

2.3.7 O/R映射中的透明持久性 25

2.3.8 身份 26

2.4 建立自己的持久性映射层 26

2.4.2 事务数据库访问和事务对象 27

2.4 1 缓存 27

2.4.3 锁定 28

2.4.4 数组、集合、列表以及映射 28

2.4.5 性能和效率 28

2.4.6 建立与购买持久性框架 29

2.5 小结 29

第Ⅱ部分 分论 33

第3章 JDO入门 33

3.1 JDO是如何工作的 33

3.2 JDO基础知识 36

3.3 定义类 37

3.3.1 JDO元数据 38

3.3.2 类到数据仓库的映射 39

3.4 连接数据仓库 39

3.5 创建对象 41

3.6 读取对象 42

3.6.1 使用导航读取数据 42

3.6.2 使用Extent读取数据 43

3.6.3 使用Query读取数据 44

3.7 更新对象 45

3.8 删除对象 46

3.9 JDO对象模型 47

3.9 1 基本类型 48

3.9.2 引用 49

3.9.3 集合类 52

3.9.4 数组 54

3.9.5 继承 55

3.9.6 修饰符 56

3.9.7 JDO不支持的内容 56

3.10 异常处理 56

3.11 对象身份 57

3.12 对象身份类型 59

3.12.1 数据仓库身份 59

3 12 2 应用程序身份 59

3.12.3 非持久的身份 62

3.13 对象生命周期 62

3.14 并发控制 63

3.14.1 ACID事务 63

3.14.2 乐观事务 64

3.15 小结 64

4.1 持久对象的生命周期 65

第4章 对象生命周期 65

4.1.1 对象的持久化 66

4.1.2 从数据仓库中创建对象 67

4.1.3 简化的生命周期 68

4.2 查找对象的状态 69

4.3 改变状态的操作 70

4.3.1 PersistenceManager makePersistent 70

4.3.9 向事务写入字段 71

4.3.8 读取事务中的字段 71

4.3 7 PersistenceManager.evict 71

4.3.6 PersistenceManager.refresh 71

4.3.5 Transaction rollback 71

4.3.3 PersistenceManager makeTransient 71

4.3 2 PersistenceManager deletePersistent 71

4.3.4 Transaction.commit 71

4.3.1O PersistenceManager retrieve 72

4.4 回调 72

4.4.1 jdoPostLoad的使用 72

4.4.2 jdoPreStore的使用 73

4.4.3 jdoPreDelete的使用 73

4.5 可选的状态 75

4.5.1 临时事务实例 75

4.4.4 jdoPreClear的使用 75

4.5.2 临时事务实例的用法 76

4.5 3 非事务实例 76

4.5.4 乐观事务 78

4.6 综合运用 78

4.7 小结 82

第5章 使用JDO进行开发 83

5.1 JDO的概念 83

5 1.1 可持久件 83

5.1.2 JDO元数据 84

5.1.4 可达性持久 85

5 1 3 默认读取组 85

5.1.5 第?类对象和第?类对象 86

5.1.6 对象身份 87

5.1.7 对象生命周期 87

5 1 8 事务 87

5.2 JDO接口和类 90

5.3 基本API 93

5.3.1 javaxjdo.PersistenceManagerFactory 93

5.3.2 PersistenceManager 102

5.3.3 Extent 119

5.3.4 Query 121

5.3.5 Transaction 127

5.3.6 InstanceCallbacks 133

5.4 异常类 135

5.4.1 JDOException 136

5.4.2 JDOFatalException 136

5.4.3 JDOFatalUserException 136

5.4.4 JDOFatalInternalException 136

5.4.5 JDOFatalDataStoreException 136

5.4.6 JDOOptimisticVerificationException 136

5.5 其他的API 137

5.4.11 JDOObjectNotFoundException 137

5.5.1 JDOHelper类 137

5.4.7 JDOCanRetryException 137

5.4.9 JDOUserException 137

5.4.8 JDOUnsupportedOptionException 137

5.4.10 JDODataStoreException 137

5.5.2 118NHelper类 139

5.6 服务提供者接口API 139

5.6.3 JDOlmplHelper 140

5.7 小结 140

5.6.4 StateManager 140

5.6.2 JDOPermission 140

5.6.1 PersistenceCapable 140

第6章 查找数据 141

6.1 通过身份查找对象 141

6.2 使用Extent查找一组对象 143

6.3 使用查询工具查找对象 144

6.4 JDOQL 147

6.5 查询、过滤器以及可选参数 153

6.5.1 声明参数 153

6.5.4 排序结果 155

6.5.3 声明变量 155

6.5.2 声明导入语句 155

6.5.5 查询中的命名空间 156

6.6 关于Query接口的更多内容 156

6.6.1 建立查询 156

6.6.2 查询与缓存 157

6.6.3 编译查询 157

6.6.4 查询模板 158

6.6.5 选择不同的查询语言 159

6.7 小结 160

7.1 JDO与JDBC 161

第7章 体系结构 161

7.2 RDBMS、ODBMS和平面文件 162

7.2.1 关系数据库中JDO的使用 162

7.2.2 对象数据库中JDO的使用 163

7.2.3 对象数据库与关系数据库 163

7.3 J2EE、RMI和CORBA 164

7.4 受管和非受管环境 165

7.4.1 连接管理 165

7.4.2 事务管理 166

7.5.1 多线程编程 167

7.5 多线程应用程序 167

7.5.2 简单的多线程编程 168

7.6 小结 168

第Ⅲ部分 J2EE 171

第8章 JDO和JCA 171

8.1 JCA概要 171

8.2 JDO和JCA 172

8.3.1 建立和配置 173

8.3.2 连接管理 173

8.3 使用JDO和JCA 173

8 3.3 事务管理 175

8.3.4 安全性 179

8.5 只使用JDO而不使用JCA 180

8.6 小结 180

第9章 JDO和EJB 181

9.1 概述 181

9.2 会话bean和JDO 183

9.2.1 事务管理 184

9 2 2 使用CMT的无状态会话bean示例 186

9.2.3 使用CMT的有状态会话bean示例 187

9.2.4 面向服务的体系结构(SOA) 189

9.3 消息驱动bean和JDO 199

9.4 实体bean和JDO 201

9.5 是否使用EJB 203

9.5.1 带有集群的、可伸缩的JDO应用程序 205

9.5.2 往返的方法 207

9.6 小结 207

第10章 安全性 209

10.1 安全级别 209

10.11 字段级别和类级别的安全性 209

10.1.2 数据仓库级别的安全性 210

10.1.3 应用程序级别的安全性 211

10.2 PersistenceCapable的实现 211

10.2.1 引用增强器 212

10.2.2 操作原理 213

10.2.3 跟踪字段访问 215

10.2.4 元数据访问 218

10.2.5 策略文件 218

10.2.6 安全问题 218

10.3 应用程序安全性 219

10.3.1 用户/密码的安全性 219

10.3.2 受管环境 220

10.3.3 应用程序特有的授权 221

10.4 小结 221

第11章 事务 222

11.1 事务的概念 222

11.1.1 参与者 223

11.1.2 本地事务 224

11 1.3 分布式事务 224

11.1.4 两阶段提交 224

11.2.1 JDBC事务 226

11.2 Java中的事务 226

11.2.2 JTA和JTS 227

11.3 JDO中的事务 229

11.3.1 理解乐观事务中的冲突 235

11.3.2 事务对象和非事务对象 236

11 3.3 保留和恢复值 239

11 3.4 J2EE应用程序服务器中的JDO和事务 240

11 3.5 事务回调的同步 248

11.4 小结 248

第12章 JDO和JDBC 251

12.1 JDBC 2.0和JDBC 3.0 251

第Ⅳ部分 结论 251

12.1.1 使用JDBC的基本步骤 252

12.1.2 JDBC的发展史 253

12.1.3 JDBC 3.0规范中的新特性 253

12.1 4 供应商特有的JDBC API扩展 255

12.2 示例:使用JDBC将对象存储到关系数据库中 255

12.3 JDBC和JDO的比较 258

12.3.1 JDBC和JDO的特性比较 261

12 3 2 关于JDBC和JDO的些错误理解 262

12.3.3 何时使用JDBC 265

12.3.4 何时在应用程序中使用JDO和JDBC 269

12.4 小结 270

第13章 提示、技巧以及最佳实践 271

13.1 数据模型 271

13 1 1 简介 271

13.1.2 包装器与原始类型 272

13.1 3 持久对象的引用 272

13 1 4 集合类型的字段 273

13.1.5 反向关系建模 275

13.1.6 继承层次结构 277

13.1 7 不要依赖于支持持久化(不是可持久)的类 278

13.2 JDO与Servlets 278

13.3 将域类与其他类分开 280

13.4 使用XML作为数据交换格式 281

13.4.1 简介 282

13 4 2 另种选择 282

13 4.3 可用的技术 282

13.4.4 开始行动 284

13.5 验证 286

13.5.1 权衡InstanceCallback 的jdoPreStore方法 286

13.5.2 使用同步的beforeCompletion()方法 288

13.6 小结 290

14.1 高级的事务语义 291

第14章 未来的发展方向 291

14.1.1 嵌套事务 292

14.1.2 保存点 292

14.1.3 显式锁定 292

14.2 性能优化 292

14.3 受管关系 293

14.3.1 双向关系 293

14.3.2 级联删除 293

14 3 3 持久的垃圾回收 293

14.5 对象映射 294

14.4.3 投影 294

14.4.1 字符串 294

14.4.2 聚合操作 294

14.4 查询增强 294

14.6 枚举模式 295

14.7 小结 295

第15章 案例分析:Core JDO Library 296

15.1 文件、程序包和对象模型 296

15.2 持久化模型程序包 297

15.2.1 Publication类 297

15.2.2 Book类 299

15.2.3 CD类 300

15.2.4 Copy类 301

15.2.5 User类 303

15.2.6 Right和Rights类 304

15.3 usecase程序包 307

15.3.1 AbstractUsercase类 307

15.3.2 AddBooks用例 310

15.4 BookOperation类 312

15.4.1 ListBooks用例 314

15.4.2 DetailedBook用例 317

15.4.3 Editbook用例 319

15.4.4 DeleteBook用例 321

15.4.5 BorrowReturn类 322

15.4.6 Borrow用例 323

15.4.7 Return用例 324

15.5 综合运用 324

15.5.1 XML元数据 324

15.5.2 在命令行模式中运行 325

15.5.3 运行Servlet 325

附录A JDO状态 327

B.1 元数据的位置 329

附录B XML元数据 329

B.2 元数据元素 330

B.2 1 文件头 330

B.2.2 元素jdo 330

B.2.3 元素package 331

B.2.4 元素class 331

B.2.5 元素field 331

B.2 6 元素collection 332

B.2.7 元素map 333

B 2 8 元素array 333

B.2.9 元素extension 333

B.3 XML DTD 334

B.4 示例 335

附录C JDOQL BNF表示法 336

C.1 文法表示法 336

C 1 1 参数声明 336

C.1.2 变量声明 337

C.1.3 导入声明 337

C.1.4 排序规范 337

C.1.5 过滤器表达式 337

C.1.6 类型 339

C.1.7 字面值 339

C.1.8 名称 340

附录D PersistenceManagerFactory快速参考 341

D.1 可选特性 341

D.2 JDOHelper属性 342

附录E JDO实现 344

E.1 JDO实现 344

E.1 1 商业JDO供应商 344

E 1.2 开放源代码的JDO 项目 348

E.2 不兼容JDO的Java持久化解决方案 349

E.2.1 商业供应商 349

E.2.2 开放源代码的持久性相关项目 350