《Java数据对象》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:Robin M. Roos著;周兆确译
  • 出 版 社:北京市:人民邮电出版社
  • 出版年份:2004
  • ISBN:7115118043
  • 页数:219 页
图书介绍:本书是对JDO(Java Data Object,Java数据对象)规范和技术的详细介绍和学习指南。

目录 1

第1章 理解对象永久性 1

1.1 什么是对象的永久性 2

1.2 目前所采用的对象永久性技术 2

1.2.1 关系数据库 3

1.2.2 文件系统 4

1.2.3 对象数据库 4

1.2.4 实体对象bean(EntityBean) 5

1.3 使用JDO实现对象的永久性 5

1.4 JDO在各种不同的永久性技术中的地位 8

1.5 下一章内容 9

第2章 一个基于JDO的简单应用程序 10

2.1 定单处理应用程序的域对象模型 10

2.2 讨论 15

2.2.1 改进过程和对象的永久性特性 16

2.2.4 临时性和永久性的比较 17

2.2.3 事务(Transactions) 17

2.2.2 JDOBootstrap和PersistenceManagerFactory类 17

2.2.5 以循环方式处理位于Extent空间中的所有永久性对象 18

2.3 应用程序源代码 18

2.4 下一章内容 20

第3章 JDO的体系结构 21

3.1 JDO的实现和JDO的软件提供商 21

3.2 JDO实例 22

3.3 JDO环境 22

3.3.1 非管理性环境 22

3.3.2 管理性环境 23

3.3.3 JDO两种使用环境之间的比较 24

3.4 对象永久性和临时性之间的比较 24

3.5 事务性操作和非事务性操作的比较 25

3.6 JDO对事务性/永久性实例的支持 26

3.6.1 具有临时性和事务性特性的实例 26

3.7 JDO身份标志 27

3.6.2 具有永久性和非事务性特性的实例 27

3.7.1 数据存储身份标志 28

3.7.2 应用程序身份标志 29

3.7.3 非永久性JDO身份标志 31

3.7.4 几种不同类型的JDO身份标志的比较 32

3.8 下一章内容 32

第4章 JDO实例的生命周期状态 33

4.1 判断一个实例的状态 33

4.2 必须的生命周期状态 34

4.2.1 临时性生命周期状态(Transient) 34

4.2.2 实例初次实现永久化的状态(Persistent-New) 35

4.2.3 新创建的实例在同一事务中被删除时的状态(Persistent-New-Deleted) 35

4.2.4 空状态(Hollow) 35

4.2.5 永久性干净状态(Persistent-Clean) 36

4.2.6 永久性脏状态(Persistent-Dirty) 36

4.2.7 永久性删除状态(Persistent-Deleted) 36

4.3.1 永久化一个处于临时性状态的实例 37

4.3 JDO实现必须提供的生命周期状态转变特性 37

4.3.2 在一个事务中创建/删除永久性实体对象 38

4.3.3 读取实例的数据成员的值 38

4.3.4 将实例清除出内存(Eviction) 39

4.3.5 更新永久性实例数据成员的值 39

4.3.6 刷新永久性实例数据成员的值 40

4.3.7 删除一个永久性实例 41

4.3.8 删除一个永久性脏实例 42

4.3.9 将一个实例的状态设置为临时性状态 43

4.3.1 0所有必须的状态转化 44

4.4 可选生命周期状态 45

4.4.1 永久性非事务状态(Persistent-Nontransactional) 45

4.4.2 临时性干净状态(Transient-Clean) 45

4.4.3 临时性脏状态(Transient-Dirty) 45

4.5 可选生命周期状态之间的转换 45

4.5.1 乐观事务 45

4.5.2 在事务之外对永久性数据成员的访问 46

4.5.3 对临时性实例的事务性访问 47

4.6 InstanceCallbacks接口 49

4.6.1 数据成员加载后(PostLoad) 49

4.6.2 数据存储之前(PreStore) 50

4.6.3 数据清除之前(PreClear) 50

4.6.4 实例删除之前(PreDelete) 50

4.7 下一章内容 51

第5章 永久性对象模型 52

5.1 永久性的透明性 52

5.2 JDO实例 54

5.3 第一类对象和第二类对象 55

5.3.1 对象变化的可见性 57

5.3.2 具有永久性属性的类作为第二类对象 58

5.4 “第三类对象”——数组 59

5.5.2 具有事务性属性和非永久性属性的数据成员 60

5.5.3 具有永久性属性的数据成员 60

5.5.1 具有非永久性和非事务性属性的数据成员 60

5.5 JDO对永久性数据成员所能使用的数据类型的限制 60

5.6 继承 78

5.7 附加部分:定单处理系统的GUI 84

5.8 下一章内容 85

第6章 JDO的基本接口和类 86

6.1 JDOHelper类 86

6.1.1 JDOHelper类中与判断永久性实例状态有关的方法 86

6.1.2 JDOHelper类中与管理功能有关的方法 87

6.1.3 JDOHelper类中与JDO实现的引导功能相关的方法 90

6.2 关于JDO的属性说明 92

6.2.1 ConnectionFactory属性 94

6.2.2 启动JDO实现 94

6.3 PersistenceManagerFactory接口 98

6.4 PersistenceManager接口 100

6.4.1 缓冲区管理 100

6.4.2 实例的生命周期 101

6.4.3 使用JDO身份标志 104

6.4.4 管理功能 105

6.4.5 获得实例 106

6.4.6 查询工厂类方法 107

6.5 Extent(类的范围)接口 107

6.6 PersistenceCapable接口 110

6.7 下一章内容 110

第7章 事务管理 111

7.1 事务 111

7.2 Transaction接口 111

7.3 事务策略 112

7.3.1 “悲观”(数据存储空间)事务策略 113

7.3.2 “乐观”事务策略 114

7.3.3 乐观事务和刷新 116

7.5.1 RestoreValues模式 119

7.5 为提高应用程序效率的事务模式 119

7.4 高级事务选项 119

7.3.4 使用明确的刷新操作的解决方案 119

7.5.2 RetainValues模式 120

7.6 与JDO实例的同步化 120

7.7 下一章内容 122

第8章 使用JDOQL语言查询数据 123

8.1 Query接口的体系结构 123

8.2 构造Query对象(实现了Query接口的类的对象) 125

8.3 Query接口 126

8.3.1 Query对象的执行 128

8.3.2 关闭Query对象的返回结果 128

8.4 关于Query对象的应用程序实例 128

8.4.1 不使用过滤器的Query对象 128

8.4.2 使用实例排序规则的Query对象 130

8.4.3 使用过滤器的Query对象 130

8.5 查询对象的过滤器表达式 130

8.5.1 JDO支持的逻辑操作符 131

8.5.3 JDOQL和Java操作符之间的区别 132

8.5.2 JDOQL支持的关键字 132

8.6 更加复杂的例子 134

8.6.1 参数化 134

8.6.2 在单个数据成员之间的导航 136

8.6.3 集合数据成员之间的导航 136

8.7 非约束性查询变量 137

8.8 动态查询窗口(DynamicQueryWindow) 137

8.9 下一章内容 139

第9章 JDO异常 140

9.1 JDO异常类层次结构 140

9.2 基本异常类 141

9.2.1 JDOException异常类 141

9.2.2 JDOFatalException异常类 142

9.2.3 JDOCanRetryException异常类 142

9.2.4 JDOUserOptionException异常类 142

9.2.9 JDOFatalDataStoreException异常类 143

9.2.8 JDODataStoreException异常类 143

9.3 应用程序异常 143

9.2.6 JDOFatalUserException异常类 143

9.2.7 JDOFatalIntemalException异常类 143

9.2.5 JDOUnsupportedOptionException异常类 143

9.4 下一章内容 144

第10章 永久性描述符 145

10.1 XML文档概述 145

10.2 永久性描述符的命名规范 146

10.3 永久性描述符的元素 146

10.3.1 〈extension〉标记 147

10.3.2 〈jdo〉标记 147

10.3.3 〈package〉标记 147

10.3.4 〈class〉标记 147

10.3.5 〈field〉标记 148

10.3.6 〈collection〉标记 150

10.3.7 〈map〉标记 151

10.4 实例——永久性描述符文件“op.jdo 152

10.3.8 〈array〉标记 152

10.5 JDO的软件提供商对永久性描述符所作的特定扩展 154

10.6 实例——永久性描述符中的删除语法 155

10.7 下一章内容 156

第11章 JDO与J2EE的集成 157

11.1 管理性环境 157

11.2 J2EE简介 157

11.2.1 EJB层 157

11.2.2 Web层 160

11.3 JDO实例的序列化 161

11.4 JDO中的事务和J2EE中的事务的比较 162

11.5 JDO与EJB的集成 163

11.6 JDO与无状态会话Bean的集成 164

11.7 JDO与有状态会话Bean的集成 167

11.8 JDO和实体Bean之间的集成 171

11.9 JDO和消息驱动Bean的集成 179

11.10 JDO与Web层的集成 181

11.10.1 服务器端小程序 182

11.10.2 JSP 184

11.11 在管理性环境中启动JDO 186

11.12 下一章内容 186

第12章 JDO的实现 187

12.1 Versant公司的enJin产品 189

12.1.1 关于Versant公司 189

12.1.2 关于enJin 189

12.1.3 enJin支持的数据存储方式 189

12.1.4 enJin支持的应用程序服务器 189

12.2 PoetSoftware公司的FastObjects产品 189

12.2.1 关于FastObjects公司 190

12.2.2 关于FastObjects公司的产品 190

12.2.3 FastObjects公司的产品家族 190

12.3.3 ObjectFrontier公司的产品家族 191

12.3.2 关于FrontierSuiteforJDO产品 191

12.3.1 关于ObjectFrontier公司 191

12.3 ObjectFrontier公司的FrontierSuiteforJDO产品 191

12.2.4 FastObjects支持的数据存储方式 191

12.2.5 FastObjects支持的应用程序服务器 191

12.3.4 FrontierSuiteforJDO支持的数据存储方式 192

12.3.5 FrontierSuiteforJDO支持的应用程序服务器 193

12.4 Signsoft公司的IntelliBO产品 193

12.4.1 关于Signsoft公司 193

12.4.2 关于IntelliBO产品 193

12.5 HemisphereTechnologies公司的JDOGenie产品 194

12.5.1 关于HemisphereTechnologies公司 194

12.4.4 IntelliBO支持的应用程序服务器 194

12.4.3 IntelliBO支持的数据存储方式 194

12.5.2 关于JDOGenie产品 195

12.5.3 JDOGenie支持的数据存储方式 195

12.5.4 JDOGenie支持的应用程序服务器 195

12.6 ObjectIndustries公司的JRelay产品 195

12.6.1 关于ObjectIndustries公司 195

12.7.1 关于SolarMetric公司 196

12.7 SolarMetric公司的KodoJDO产品 196

12.7.2 关于KodoJDO产品 196

12.6.2 关于JRelay产品 196

12.6.4 JRelay支持的应用程序服务器 196

12.6.3 JRelay支持的数据存储方式 196

12.7.3 产品家族 197

12.7.4 KodoJDO支持的数据存储方式 197

12.7.5 KodoJDO支持的应用程序服务器 197

12.8 LIBeLIS公司的LiDO产品 197

12.8.1 关于LIBeLIS公司 198

12.8.2 关于LiDO产品 198

12.8.3 与LIBeLIS相关的永久性描述符的扩展 198

12.8.4 LIBeLIS公司的产品家族 198

12.8.5 LiDO支持的数据存储方式 199

12.8.6 LiDO支持的应用程序服务器 199

12.9.2 关于OpenFusion产品 200

12.9.1 关于PrismTechnologie公司 200

12.9 PrismTechnologie公司的OpenFusionJDO产品 200

12.9.3 OpenFusion支持的数据存储方式 201

12.9.4 OpenFusion支持的应用程序服务器 201

12.10 OrientTechnologie公司的Orient产品 201

12.10.1 关于OrientTechnologie公司 201

12.10.2 关于Orient产品 202

12.10.3 Orient的产品家族 202

12.10.4 Orient支持的数据存储方式 202

12.10.5 Orient支持的应用程序服务器 202

12.11 HYWYSoftware公司的生产环境系统PE:J 202

12.11.1 关于HYWYSoftware 202

12.11.2 关于PE:J产品 203

12.11.3 PE:J的产品家族 203

12.11.4 PE:J产品支持的数据存储方式 203

12.11.5 PE:J支持的应用程序服务器 204

13.1.1 序列(Sequence) 205

13.1 对JDO1.0 版技术规范的改进 205

第13章 结语 205

13.1.2 范围(Extent)对象的分类 206

13.1.3 JDOQL 206

13.1.4 预先检索模式(Pre-fetchPattern) 208

13.1.5 乐观事务 209

13.1.6 标准化的O-R(对象-关系)映射 209

13.1.7 事件驱动的“反作用”实例 209

13.2 进一步的信息源 209

13.2.1 OglviePartner有限公司 209

13.2.2 Yahoo!Groups上的JavaDataObjects 210

13.2.3 JDOcentral.com 210

附录A JDOHelper启动属性 211

附录B JDO实现所支持选项的字符串 212

附录C JDO永久性描述符的DTD文件 213

附录D PersistenceManagerFactory接口 214

附录E JDOQL语法 215