注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计JAVA及其相关Java数据对象

Java数据对象

Java数据对象

定 价:¥29.00

作 者: ()Robin M.Roos著;周兆确译
出版社: 人民邮电出版社
丛编项:
标 签: JAVA语言 程序设计

ISBN: 9787115118042 出版时间: 2004-01-01 包装: 简裝本
开本: 26cm 页数: 240 字数:  

内容简介

虽然JDO(JavaDataObject,Java数据对象)标准已经有比较“悠久”的历史了,但在JDO标准的发展过程中,我们对该标准的众多规范也只能略窥一斑!JDO标准起源于ODMG(ObjectDataManagemengGroup,对象数据管理组)标准。这个标准很早就尝试在面向对象的编程语言中对以透明方式访问数据库的方法实现标准化。ODMG标准比Java语言本身更早出现。本书适用于具有一定的Java基础知识的Java应用程序开发人员,以及对JDO技术感兴趣的程序设计人员和程序架构设计人员。本书是对JDO(JavaDataObject,Java数据对象)规范和技术的详细介绍和学习指南。全书共13章,分别介绍了JDO的体系结构、对象生命周期状态、基本接口和类、事务管理、JDOQL语言、异常、与J2EE的集成以及JDO实现方面的知识。附录部分给出了JDOHelper、PersistenceManagerFactory接口以及JDOQL语法等有用的参考资料。本书适用于具有一定的Java基础知识的Java应用程序开发人员,以及对JDO技术感兴趣的程序设计人员和程序架构设计人员。

作者简介

  RobinRoos曾经在南非的St.Andrews学院和Rhodes大学求学,于1988年获得计算机科学和物理学学士学位,并于1989年获得计算机科学荣誉学士学位。在1996年开始学习Java之前,RobinRoos在关系数据库和各种过程化语言和面向对象语言方面主积累了丰富的经验。1996年之后,RobinRoos参与过多个Java和J2EE方面的项目。根据在JDBC和实体Bean的Java平台上访问数据库的经验,RobinRoos坚信在Java平台上一定还有另一种访问数据库的更好方式。正是在这个信念的鼓舞下,他于2001年加入了JDOExpertGroup。

图书目录

第1章 理解对象永久性 1
1.1 什么是对象的永久性 2
1.2 目前所采用的对象永久性技术 2
1.2.1 关系数据库 3
1.2.2 文件系统 4
1.2.3 对象数据库 4
1.2.4 实体对象bean(Entity Bean) 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.2 JDOBootstrap和PersistenceManagerFactory类 17
2.2.3 事务(Transactions) 17
2.2.4 临时性和永久性的比较 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.6.2 具有永久性和非事务性特性的实例 27
3.7 JDO身份标志 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 JDO实现必须提供的生命周期状态转变特性 37
4.3.1 永久化一个处于临时性状态的实例 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.10 所有必须的状态转化 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 数据成员加载后(Post Load) 49
4.6.2 数据存储之前(Pre Store) 50
4.6.3 数据清除之前(Pre Clear) 50
4.6.4 实例删除之前(Pre Delete) 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 JDO对永久性数据成员所能使用的数据类型的限制 60
5.5.1 具有非永久性和非事务性属性的数据成员 60
5.5.2 具有事务性属性和非永久性属性的数据成员 60
5.5.3 具有永久性属性的数据成员 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.3.4 使用明确的刷新操作的解决方案 119
7.4 高级事务选项 119
7.5 为提高应用程序效率的事务模式 119
7.5.1 RestoreValues模式 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.2 JDOQL支持的关键字 132
8.5.3 JDOQL和Java操作符之间的区别 132
8.6 更加复杂的例子 134
8.6.1 参数化 134
8.6.2 在单个数据成员之间的导航 136
8.6.3 集合数据成员之间的导航 136
8.7 非约束性查询变量 137
8.8 动态查询窗口(Dynamic Query Window) 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.5 JDOUnsupportedOptionException异常类 143
9.2.6 JDOFatalUserException异常类 143
9.2.7 JDOFatalInternalException异常类 143
9.2.8 JDODataStoreException异常类 143
9.2.9 JDOFatalDataStoreException异常类 143
9.3 应用程序异常 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.3.8 array 标记 152
10.4 实例--永久性描述符文件“op.jdo” 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 Poet Software公司的FastObjects产品 189
12.2.1 关于FastObjects公司 190
12.2.2 关于FastObjects公司的产品 190
12.2.3 FastObjects公司的产品家族 190
12.2.4 FastObjects支持的数据存储方式 191
12.2.5 FastObjects支持的应用程序服务器 191
12.3 ObjectFrontier公司的FrontierSuite for JDO产品 191
12.3.1 关于ObjectFrontier公司 191
12.3.2 关于FrontierSuite for JDO产品 191
12.3.3 ObjectFrontier公司的产品家族 191
12.3.4 FrontierSuite for JDO支持的数据存储方式 192
12.3.5 FrontierSuite for JDO支持的应用程序服务器 193
12.4 Signsoft公司的IntelliBO产品 193
12.4.1 关于Signsoft公司 193
12.4.2 关于IntelliBO产品 193
12.4.3 IntelliBO支持的数据存储方式 194
12.4.4 IntelliBO支持的应用程序服务器 194
12.5 Hemisphere Technologies公司的JDO Genie产品 194
12.5.1 关于Hemisphere Technologies公司 194
12.5.2 关于JDO Genie产品 195
12.5.3 JDO Genie支持的数据存储方式 195
12.5.4 JDO Genie支持的应用程序服务器 195
12.6 Object Industries公司的JRelay产品 195
12.6.1 关于Object Industries公司 195
12.6.2 关于JRelay产品 196
12.6.3 JRelay支持的数据存储方式 196
12.6.4 JRelay支持的应用程序服务器 196
12.7 SolarMetric公司的Kodo JDO产品 196
12.7.1 关于SolarMetric公司 196
12.7.2 关于Kodo JDO产品 196
12.7.3 产品家族 197
12.7.4 Kodo JDO支持的数据存储方式 197
12.7.5 Kodo JDO支持的应用程序服务器 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 PrismTechnologie公司的OpenFusion JDO产品 200
12.9.1 关于PrismTechnologie公司 200
12.9.2 关于OpenFusion产品 200
12.9.3 OpenFusion支持的数据存储方式 201
12.9.4 OpenFusion支持的应用程序服务器 201
12.10 Orient Technologie公司的Orient产品 201
12.10.1 关于Orient Technologie公司 201
12.10.2 关于Orient产品 202
12.10.3 Orient的产品家族 202
12.10.4 Orient支持的数据存储方式 202
12.10.5 Orient支持的应用程序服务器 202
12.11 HYWY Software公司的生产环境系统PE:J 202
12.11.1 关于HYWY Software 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章 结语 205
13.1 对JDO 1.0版技术规范的改进 205
13.1.1 序列(Sequence) 205
13.1.2 范围(Extent)对象的分类 206
13.1.3 JDOQL 206
13.1.4 预先检索模式(Pre-fetch Pattern) 208
13.1.5 乐观事务 209
13.1.6 标准化的O-R(对象-关系)映射 209
13.1.7 事件驱动的“反作用”实例 209
13.2 进一步的信息源 209
13.2.1 Oglvie Partner有限公司 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 【媒体评论】

本目录推荐