注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡軟件與程序設計其他編程語言/工具JDO核心技術(shù)

JDO核心技術(shù)

JDO核心技術(shù)

定 價:¥48.00

作 者: (美)Sameer Tyagi[等]著;侯普秀,曹振新譯;侯普秀譯
出版社: 清華大學出版社
叢編項:
標 簽: Java

ISBN: 9787302099451 出版時間: 2005-03-01 包裝: 簡裝本
開本: 26cm 頁數(shù): 351 字數(shù):  

內(nèi)容簡介

  Java Data Objects(JDO)提供了以Java為核心的使對象持久化的機制,以及將應用程序連接到底層持久數(shù)據(jù)倉庫的標準API,從而簡化了開發(fā)過程。對于每個有經(jīng)驗的Java開發(fā)人員來說,本書提供了關(guān)于JDO持久化的權(quán)威而全面的指導。通過實際的代碼示例,本書介紹了持久對象的創(chuàng)建、讀取、更新和刪除,對象的生命周期和狀態(tài)轉(zhuǎn)換,JDO類和API,查詢,體系結(jié)構(gòu),安全性等內(nèi)容。此外還討論了如何將JDO和EJBTM、JTA、JCA以及其他J2EETM技術(shù)集成,并且介紹了在單獨程序和J2EETM組件中使用JDO的最優(yōu)方法。如果您希望將更多的時間用于解決業(yè)務問題,而不是在持久性問題上浪費過多時間,那么就需要使用JDO技術(shù),并且需要一本書來深入了解JDO,本書就是您最佳的選擇。

作者簡介

  Sameer Tyagi是SunMicrosystems的企業(yè)級Java架構(gòu)師,在馬薩諸塞州伯靈頓的Java中心工作。他與他人合著了多部涉及Java技術(shù)中不同領(lǐng)域的著作,如ProfessionalJSP、ProfessionalJspJ2EEEdition和ProfessionalJavaServerProgramming-J2EEEdition。他還常常為JavaPro,JavaWorld以及JavaDevelopersJournal雜志撰寫文章。KeironMcCammon是Versant公司的CTO。他負責制定產(chǎn)品的策略以及定位,幫助金融和電信客戶開發(fā)和部署大范圍的JavaJ2EE分布式對象解決方案。Keiron也是JDO專家組(JSR 12)的成員,經(jīng)常出席有關(guān)JDO的重要會議。

圖書目錄

第Ⅰ部分  引論
第1章  JDO概述 3
1.1  JDO的背景 3
1.2  域?qū)ο竽P?nbsp;3
1.3  垂直持久性 6
1.4  非受管環(huán)境與受管環(huán)境 11
1.4.1  非受管環(huán)境 11
1.4.2  受管環(huán)境 11
1.5  角色與職責 12
1.5.1  JDO規(guī)范 12
1.5.2  開發(fā)人員的職責 13
1.5.3  供應商的職責 14
1.6  小結(jié) 14
第2章  對象持久性的基礎 15
2.1  應用程序中的持久性 15
2.2  JDK二進制串行化 16
2.2.1  串行化API 16
2.2.2  版本控制和串行化 17
2.2.3  需要使用對象串行化的情況 19
2.2.4  不需要使用對象串行化的情況 20
2.3  對象-關(guān)系映射 20
2.3.1  類和表 20
2.3.2  字符串、日期以及其他類型的映射 21
2.3.3  繼承映射 22
2.3.4  安全性 25
2.3.5  查詢語言轉(zhuǎn)換 25
2.3.6  引用完整性、刪除以及其他 25
2.3.7  O/R映射中的透明持久性 25
2.3.8  身份 26
2.4  建立自己的持久性映射層 26
2.4.1  緩存 27
2.4.2  事務數(shù)據(jù)庫訪問和事務對象 27
2.4.3  鎖定 28
2.4.4  數(shù)組、集合、列表以及映射 28
2.4.5  性能和效率 28
2.4.6  建立與購買持久性框架 29
2.5  小結(jié) 29
第Ⅱ部分  分    論
第3章  JDO入門 33
3.1  JDO是如何工作的 33
3.2  JDO基礎知識 36
3.3  定義類 37
3.3.1  JDO元數(shù)據(jù) 38
3.3.2  類到數(shù)據(jù)倉庫的映射 39
3.4  連接數(shù)據(jù)倉庫 39
3.5  創(chuàng)建對象 41
3.6  讀取對象 42
3.6.1  使用導航讀取數(shù)據(jù) 42
3.6.2  使用Extent讀取數(shù)據(jù) 43
3.6.3  使用Query讀取數(shù)據(jù) 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  數(shù)組 54
3.9.5  繼承 55
3.9.6  修飾符 56
3.9.7  JDO不支持的內(nèi)容 56
3.10  異常處理 56
3.11  對象身份 57
3.12  對象身份類型 59
3.12.1  數(shù)據(jù)倉庫身份 59
3.12.2  應用程序身份 59
3.12.3  非持久的身份 62
3.13  對象生命周期 62
3.14  并發(fā)控制 63
3.14.1  ACID事務 63
3.14.2  樂觀事務 64
3.15  小結(jié) 64
第4章  對象生命周期 65
4.1  持久對象的生命周期 65
4.1.1  對象的持久化 66
4.1.2  從數(shù)據(jù)倉庫中創(chuàng)建對象 67
4.1.3  簡化的生命周期 68
4.2  查找對象的狀態(tài) 69
4.3  改變狀態(tài)的操作 70
4.3.1  PersistenceManager.makePersistent 70
4.3.2  PersistenceManager.deletePersistent 71
4.3.3  PersistenceManager.makeTransient 71
4.3.4  Transaction.commit 71
4.3.5  Transaction.rollback 71
4.3.6  PersistenceManager.refresh 71
4.3.7  PersistenceManager.evict 71
4.3.8  讀取事務中的字段 71
4.3.9  向事務寫入字段 71
4.3.10  PersistenceManager.retrieve 72
4.4  回調(diào) 72
4.4.1  jdoPostLoad的使用 72
4.4.2  jdoPreStore的使用 73
4.4.3  jdoPreDelete的使用 73
4.4.4  jdoPreClear的使用 75
4.5  可選的狀態(tài) 75
4.5.1  臨時事務實例 75
4.5.2  臨時事務實例的用法 76
4.5.3  非事務實例 76
4.5.4  樂觀事務 78
4.6  綜合運用 78
4.7  小結(jié) 82
第5章  使用JDO進行開發(fā) 83
5.1  JDO的概念 83
5.1.1  可持久性 83
5.1.2  JDO 元數(shù)據(jù) 84
5.1.3  默認讀取組 85
5.1.4  可達性持久 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  javax.jdo.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.4.7  JDOCanRetryException 137
5.4.8  JDOUnsupportedOptionException 137
5.4.9  JDOUserException 137
5.4.10  JDODataStoreException 137
5.4.11  JDOObjectNotFoundException 137
5.5  其他的API 137
5.5.1  JDOHelper類 137
5.5.2  I18NHelper類 139
5.6  服務提供者接口API 139
5.6.1  PersistenceCapable 140
5.6.2  JDOPermission 140
5.6.3  JDOImplHelper 140
5.6.4  StateManager 140
5.7  小結(jié) 140
第6章  查找數(shù)據(jù) 141
6.1  通過身份查找對象 141
6.2  使用Extent查找一組對象 143
6.3  使用查詢工具查找對象 144
6.4  JDOQL 147
6.5  查詢、過濾器以及可選參數(shù) 153
6.5.1  聲明參數(shù) 153
6.5.2  聲明導入語句 155
6.5.3  聲明變量 155
6.5.4  排序結(jié)果 155
6.5.5  查詢中的命名空間 156
6.6  關(guān)于Query接口的更多內(nèi)容 156
6.6.1  建立查詢 156
6.6.2  查詢與緩存 157
6.6.3  編譯查詢 157
6.6.4  查詢模板 158
6.6.5  選擇不同的查詢語言 159
6.7  小結(jié) 160
第7章  體系結(jié)構(gòu) 161
7.1  JDO與JDBC 161
7.2  RDBMS、ODBMS和平面文件 162
7.2.1  關(guān)系數(shù)據(jù)庫中JDO的使用 162
7.2.2  對象數(shù)據(jù)庫中JDO的使用 163
7.2.3  對象數(shù)據(jù)庫與關(guān)系數(shù)據(jù)庫 163
7.3  J2EE、RMI和CORBA 164
7.4  受管和非受管環(huán)境 165
7.4.1  連接管理 165
7.4.2  事務管理 166
7.5  多線程應用程序 167
7.5.1  多線程編程 167
7.5.2  簡單的多線程編程 168
7.6  小結(jié) 168
第Ⅲ部分  J2EE
第8章  JDO和JCA 171
8.1  JCA概要 171
8.2  JDO和JCA 172
8.3  使用JDO和JCA 173
8.3.1  建立和配置 173
8.3.2  連接管理 173
8.3.3  事務管理 175
8.3.4  安全性 179
8.5  只使用JDO而不使用JCA 180
8.6  小結(jié) 180
第9章  JDO和EJB 181
9.1  概述 181
9.2  會話bean和JDO 183
9.2.1  事務管理 184
9.2.2  使用CMT的無狀態(tài)會話bean示例 186
9.2.3  使用CMT的有狀態(tài)會話bean示例 187
9.2.4  面向服務的體系結(jié)構(gòu)(SOA) 189
9.3  消息驅(qū)動bean和JDO 199
9.4  實體bean和JDO 201
9.5  是否使用EJB 203
9.5.1  帶有集群的、可伸縮的JDO應用程序 205
9.5.2  往返的方法 207
9.6  小結(jié) 207
第10章  安全性 209
10.1  安全級別 209
10.1.1  字段級別和類級別的安全性 209
10.1.2  數(shù)據(jù)倉庫級別的安全性 210
10.1.3  應用程序級別的安全性 211
10.2  PersistenceCapable的實現(xiàn) 211
10.2.1  引用增強器 212
10.2.2  操作原理 213
10.2.3  跟蹤字段訪問 215
10.2.4  元數(shù)據(jù)訪問 218
10.2.5  策略文件 218
10.2.6  安全問題 218
10.3  應用程序安全性 219
10.3.1  用戶/密碼的安全性 219
10.3.2  受管環(huán)境 220
10.3.3  應用程序特有的授權(quán) 221
10.4  小結(jié) 221
第11章  事務 222
11.1  事務的概念 222
11.1.1  參與者 223
11.1.2  本地事務 224
11.1.3  分布式事務 224
11.1.4  兩階段提交 224
11.2  Java中的事務 226
11.2.1  JDBC事務 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  事務回調(diào)的同步 248
11.4  小結(jié) 248
第Ⅳ部分  結(jié)    論
第12章  JDO和JDBC 251
12.1  JDBC 2.0和JDBC 3.0 251
12.1.1  使用JDBC的基本步驟 252
12.1.2  JDBC的發(fā)展史 253
12.1.3  JDBC 3.0規(guī)范中的新特性 253
12.1.4  供應商特有的JDBC API擴展 255
12.2  示例:使用JDBC將對象存儲到關(guān)系數(shù)據(jù)庫中 255
12.3  JDBC和JDO的比較 258
12.3.1  JDBC和JDO的特性比較 261
12.3.2  關(guān)于JDBC和JDO的一些錯誤理解 262
12.3.3  何時使用JDBC 265
12.3.4  何時在應用程序中使用JDO和JDBC 269
12.4  小結(jié) 270
第13章  提示、技巧以及最佳實踐 271
13.1  數(shù)據(jù)模型 271
13.1.1  簡介 271
13.1.2  包裝器與原始類型 272
13.1.3  持久對象的引用 272
13.1.4  集合類型的字段 273
13.1.5  反向關(guān)系建模 275
13.1.6  繼承層次結(jié)構(gòu) 277
13.1.7  不要依賴于支持持久化(不是可持久)的類 278
13.2  JDO與Servlets 278
13.3  將域類與其他類分開 280
13.4  使用XML作為數(shù)據(jù)交換格式 281
13.4.1  簡介 282
13.4.2  另一種選擇 282
13.4.3  可用的技術(shù) 282
13.4.4  開始行動 284
13.5  驗證 286
13.5.1  權(quán)衡 InstanceCallback的jdoPreStore方法 286
13.5.2  使用同步的beforeCompletion()方法 288
13.6  小結(jié) 290
第14章  未來的發(fā)展方向 291
14.1  高級的事務語義 291
14.1.1  嵌套事務 292
14.1.2  保存點 292
14.1.3  顯式鎖定 292
14.2  性能優(yōu)化 292
14.3  受管關(guān)系 293
14.3.1  雙向關(guān)系 293
14.3.2  級聯(lián)刪除 293
14.3.3  持久的垃圾回收 293
14.4  查詢增強 294
14.4.1  字符串 294
14.4.2  聚合操作 294
14.4.3  投影 294
14.5  對象映射 294
14.6  枚舉模式 295
14.7  小結(jié) 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元數(shù)據(jù) 324
15.5.2  在命令行模式中運行 325
15.5.3  運行Servlet 325
附錄A  JDO狀態(tài) 327
附錄B  XML元數(shù)據(jù) 329
B.1  元數(shù)據(jù)的位置 329
B.2  元數(shù)據(jù)元素 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  參數(shù)聲明 336
C.1.2  變量聲明 337
C.1.3  導入聲明 337
C.1.4  排序規(guī)范 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實現(xiàn) 344
E.1  JDO實現(xiàn) 344
E.1.1  商業(yè)JDO供應商 344
E.1.2  開放源代碼的JDO項目 348
E.2  不兼容JDO的 Java持久化解決方案 349
E.2.1  商業(yè)供應商 349
E.2.2  開放源代碼的持久性相關(guān)項目 350

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號