注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)精通JDO

精通JDO

精通JDO

定 價(jià):¥33.00

作 者: (美)David Ezzio著;韓來(lái)彬譯;韓來(lái)彬譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: Java

ISBN: 9787302106968 出版時(shí)間: 2005-06-01 包裝: 平裝
開(kāi)本: 26cm 頁(yè)數(shù): 265 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  對(duì)于Java程序員和應(yīng)用程序架構(gòu)師來(lái)說(shuō),JDO具有不容忽視的價(jià)值。JDO為Java對(duì)象定義了通用的持久性,從而給應(yīng)用程序的開(kāi)發(fā)帶來(lái)了眾多優(yōu)勢(shì)。JDO能大大減少使用關(guān)系數(shù)據(jù)庫(kù)所需的代碼量,并且獨(dú)立于數(shù)據(jù)庫(kù)體系結(jié)構(gòu)。 本書(shū)分為兩部分。第一部分介紹了JDO的基本概念、查詢(xún)、持久性管理器、事務(wù)和緩存、增強(qiáng)類(lèi)和托管字段,以及JDOHelper、回調(diào)和導(dǎo)常。第二部分討論了每種體系結(jié)構(gòu)的應(yīng)用程序設(shè)計(jì)問(wèn)題和編碼模式問(wèn)題。書(shū)中還提供了一些示例來(lái)展示客戶(hù)/服務(wù)器應(yīng)用程序、Web應(yīng)用程序以及使用Enterprise JavaBeans的應(yīng)用程序。希望我多年來(lái)使用JDO構(gòu)建應(yīng)用程序的經(jīng)驗(yàn)?zāi)軐?duì)記者有所裨益。 本書(shū)主要面向Java程序員和應(yīng)用程序架構(gòu)師。

作者簡(jiǎn)介

暫缺《精通JDO》作者簡(jiǎn)介

圖書(shū)目錄

第1章 JDO的基本概念 1
1.1 JDO持久性服務(wù) 2
1.1.1 事務(wù) 3
1.1.2 創(chuàng)建持久對(duì)象 3
1.1.3 檢索持久對(duì)象 3
1.1.4 更新持久對(duì)象 4
1.1.5 刪除持久對(duì)象 5
1.2 托管對(duì)象和非托管對(duì)象 5
1.2.1 首要類(lèi)對(duì)象和應(yīng)用程序數(shù)據(jù)對(duì)象 7
1.2.2 次要類(lèi)對(duì)象和嵌入式對(duì)象 7
1.2.3 非托管的數(shù)據(jù)對(duì)象 10
1.3 數(shù)據(jù)對(duì)象的十種管理狀態(tài) 12
1.4 標(biāo)識(shí)和惟一性要求 14
1.4.1 三種類(lèi)型的JDO標(biāo)識(shí) 16
1.4.2 惟一性要求 22
1.4.3 把瞬態(tài)對(duì)象鏈接到持久狀態(tài) 24
1.5 小結(jié) 25
第2章 查詢(xún) 26
2.1 Extent接口 26
2.1.1 Extent和持久性管理器的IgnoreCache屬性 26
2.1.2 用于產(chǎn)生Extent對(duì)象的工廠(chǎng)方法 27
2.1.3 只讀的CandidateClass屬性 27
2.1.4 只讀的PersistenceManager屬性 28
2.1.5 判斷Extent是否包含子類(lèi) 28
2.1.6 在Extent之外獲得迭代器 28
2.1.7 關(guān)閉Extent迭代器 28
2.2 JDO查詢(xún)服務(wù)的設(shè)計(jì) 29
2.3 Query接口 29
2.3.1 設(shè)置查詢(xún)的候選項(xiàng) 30
2.3.2 設(shè)置查詢(xún)的Candidate類(lèi) 30
2.3.3 設(shè)置查詢(xún)的過(guò)濾器 31
2.3.4 聲明查詢(xún)的參數(shù) 31
2.3.5 聲明查詢(xún)的變量 31
2.3.6 聲明查詢(xún)的輸入 32
2.3.7 將查詢(xún)結(jié)果排序 32
2.3.8 運(yùn)行查詢(xún) 32
2.3.9 關(guān)閉查詢(xún)結(jié)果 33
2.3.10 編譯查詢(xún) 33
2.3.11 IgnoreCache屬性 33
2.3.12 只讀的PersistenceManager屬性 34
2.4 用于產(chǎn)生Query對(duì)象的工廠(chǎng)方法 34
2.5 JDO查詢(xún)過(guò)濾器的句法 35
2.5.1 JDOQL的術(shù)語(yǔ) 35
2.5.2 JDOQL的操作符 37
2.5.3 JDOQL的查詢(xún)方法 38
2.5.4 接口類(lèi)型的一個(gè)普遍問(wèn)題 39
2.6 查詢(xún)變量 39
2.6.1 contains方法特殊的語(yǔ)法語(yǔ)義 41
2.6.2 受約束變量的語(yǔ)義 42
2.6.3 DeMorgan規(guī)則沒(méi)有用于受約束的變量 42
2.7 排序查詢(xún)結(jié)果 43
2.8 在查詢(xún)中是使用緩存還是忽略緩存 44
2.9 可映射到JDOQL的SQL查詢(xún) 46
2.9.1 在一個(gè)表中選擇 48
2.9.2 用單對(duì)單關(guān)系在連接中選擇 48
2.9.3 用單對(duì)多關(guān)系在連接中選擇 48
2.9.4 用多對(duì)多關(guān)系在連接中選擇 49
2.9.5 在自連接中選擇 49
2.9.6 在外連接中選擇 50
2.9.7 使用子查詢(xún)選擇 50
2.9.8 簡(jiǎn)單性是JDOQL的力量所在 50
2.10 在JDOQL不能滿(mǎn)足需要時(shí)使用SQL 51
2.11 JDO和JDOQL是如何有助于開(kāi)發(fā)過(guò)程的 51
2.12 小結(jié) 52
第3章 持久性管理器 53
3.1 方法參數(shù)中的null值處理 54
3.2 獲得和關(guān)閉持久性管理器 54
3.2.1 關(guān)閉持久性管理器 54
3.2.2 只讀的Closed屬性 55
3.2.3 只讀的PersistenceManagerFactory屬性 55
3.3 數(shù)據(jù)對(duì)象的JDO管理的控制 55
3.3.1 xxxAll操作的行為 55
3.3.2 設(shè)置和刪除持久對(duì)象 56
3.3.3 向事務(wù)添加對(duì)象和從事務(wù)中移除對(duì)象 58
3.3.4 從JDO的管理中移除持久對(duì)象 61
3.3.5 能替代調(diào)用makeTransient方法的方法 62
3.4 控制緩存 63
3.4.1 檢索持久狀態(tài) 63
3.4.2 驅(qū)逐持久狀態(tài) 65
3.4.3 刷新持久狀態(tài) 66
3.5 獲得和構(gòu)造標(biāo)識(shí)對(duì)象 67
3.6 根據(jù)標(biāo)識(shí)提取應(yīng)用程序數(shù)據(jù)對(duì)象 68
3.7 持久性管理器中的工廠(chǎng)方法 69
3.8 獲得持久性管理器的事務(wù) 69
3.9 持久性管理器的屬性 69
3.9.1 IgnoreCache屬性 69
3.9.2 Multithreaded屬性 70
3.9.3 UserObject屬性 70
3.10 小結(jié) 70
第4章 事務(wù)和緩存 71
4.1 事務(wù) 71
4.1.1 JDO中的樂(lè)觀事務(wù)和數(shù)據(jù)存儲(chǔ)事務(wù) 72
4.1.2 隔離等級(jí)和事務(wù)間的交互 73
4.1.3 JDO實(shí)現(xiàn)定義其事務(wù)的隔離等級(jí) 74
4.2 JDO的Transaction接口 74
4.2.1 控制事務(wù)邊界 75
4.2.2 只讀的PersistenceManager屬性 76
4.2.3 5個(gè)事務(wù)屬性 76
4.2.4 與事務(wù)的完成同步 82
4.3 事務(wù)屬性是如何控制狀態(tài)轉(zhuǎn)換的 84
4.3.1 事務(wù)之外的JDO狀態(tài)轉(zhuǎn)換 84
4.3.2 事務(wù)內(nèi)的JDO狀態(tài)轉(zhuǎn)換 85
4.3.3 數(shù)據(jù)存儲(chǔ)事務(wù)獨(dú)特的JDO狀態(tài)轉(zhuǎn)換 86
4.3.4 樂(lè)觀事務(wù)獨(dú)特的JDO狀態(tài)轉(zhuǎn)換 87
4.3.5 當(dāng)RetainValues為false時(shí)JDO的狀態(tài)轉(zhuǎn)換 88
4.3.6 當(dāng)RetainValues為true時(shí)JDO的狀態(tài)轉(zhuǎn)換 88
4.3.7 當(dāng)RestoreValues為false時(shí)JDO的狀態(tài)轉(zhuǎn)換 89
4.3.8 當(dāng)強(qiáng)RestoreValues為true時(shí)JDO的狀態(tài)轉(zhuǎn)換 90
4.3.9 當(dāng)弱RestoreValues為true時(shí)的JDO狀態(tài)轉(zhuǎn)換 90
4.4 可選的瞬態(tài)事務(wù)特征 91
4.5 JCA、JTA和JDO事務(wù) 92
4.6 持久對(duì)象及其狀態(tài)的JDO緩存 93
4.6.1 從緩存中移除持久對(duì)象 94
4.6.2 持久性管理器的緩存何時(shí)可以提高性能 94
4.6.3 控制持久性管理器的緩存 94
4.6.4 JDO實(shí)現(xiàn)的二級(jí)緩存 95
4.7 小結(jié) 96
第5章 增強(qiáng)類(lèi)和托管字段 97
5.1 應(yīng)當(dāng)增強(qiáng)哪些應(yīng)用程序類(lèi) 97
5.2 托管字段和非托管字段 98
5.2.1 哪些類(lèi)型的字段可以是非托管字段 98
5.2.2 哪些類(lèi)型的字段可以是事務(wù)字段 98
5.2.3 哪些類(lèi)型的字段可以是持久字段 99
5.3 增強(qiáng) 100
5.3.1 預(yù)期的增強(qiáng)效果 101
5.3.2 增強(qiáng)的副作用和局限性 102
5.4 JDO元數(shù)據(jù) 113
5.4.1 JDO元數(shù)據(jù)文件的名字和位置 113
5.4.2 JDO元數(shù)據(jù)的結(jié)構(gòu) 114
5.5 小結(jié) 124
第6章 產(chǎn)生持久性管理器的工廠(chǎng) 125
6.1 PersistenceManagerFactory接口 125
6.2 獲得持久性管理器 126
6.2.1 從持久性管理器工廠(chǎng)獲得持久性管理器 126
6.2.2 從連接工廠(chǎng)獲得持久性管理器 126
6.3 獲得持久性管理器工廠(chǎng) 127
6.3.1 JDOHelper中的getPersistenceManagerFactory方法 127
6.3.2 從JNDI獲得持久性管理器工廠(chǎng) 130
6.3.3 構(gòu)造持久性管理器工廠(chǎng) 131
6.4 關(guān)閉持久性管理器工廠(chǎng) 131
6.5 獲得連接工廠(chǎng) 132
6.6 分析JDO實(shí)現(xiàn) 132
6.6.1 確定實(shí)現(xiàn)對(duì)可選特征的支持 132
6.6.2 從實(shí)現(xiàn)獲得特定供應(yīng)商的信息 134
6.7 配置持久性管理器工廠(chǎng) 134
6.8 配置到數(shù)據(jù)存儲(chǔ)的連接 134
6.9 JDO對(duì)容器管理事務(wù)的支持 135
6.10 JDO對(duì)bean管理事務(wù)的支持 136
6.11 在CMT會(huì)話(huà)bean中使用JDO 136
6.12 從業(yè)務(wù)方法返回已串行化的數(shù)據(jù)對(duì)象 142
6.13 在帶BMP的實(shí)體bean中使用JDO 142
6.13.1 EJB的實(shí)體環(huán)境回調(diào)方法 146
6.13.2 QuoteServer bean的setup方法和cleanup方法 146
6.13.3 ejbStore回調(diào)方法 147
6.13.4 調(diào)用ejbStore時(shí),誰(shuí)負(fù)責(zé)把修改刷新到數(shù)據(jù)存儲(chǔ) 147
6.13.5 實(shí)體EJB的業(yè)務(wù)方法 148
6.13.6 ejbLoad回調(diào)方法 148
6.13.7 ejbPassivate回調(diào)方法 149
6.13.8 ejbActivate回調(diào)方法 149
6.13.9 ejbCreate方法 149
6.13.10 ejbRemove方法 149
6.13.11 ejbFindByPrimaryKey方法 149
6.13.12 EJB查找器方法 150
6.13.13 在業(yè)務(wù)方法的響應(yīng)中串行化數(shù)據(jù)對(duì)象 150
6.13.14 轉(zhuǎn)換到一個(gè)連接工廠(chǎng) 150
6.14 在BMT會(huì)話(huà)bean中使用JDO 150
6.14.1 無(wú)狀態(tài)BMT會(huì)話(huà)bean 151
6.14.2 有狀態(tài)BMT會(huì)話(huà)bean必須作出的改變 153
6.15 在消息驅(qū)動(dòng)bean中使用JDO 154
6.16 小結(jié) 155
第7章 JDOHelper、回調(diào)和異常 156
7.1 JDOHelper實(shí)用類(lèi) 156
7.1.1 JDOHelper中的各種實(shí)用方法 156
7.1.2 確定數(shù)據(jù)對(duì)象的管理狀態(tài) 159
7.2 InstanceCallbacks接口 161
7.2.1 jdoPostLoad回調(diào) 161
7.2.2 jdoPreStore回調(diào) 162
7.2.3 jdoPreClear回調(diào) 162
7.2.4 jdoPreDelete回調(diào) 163
7.2.5 使用InstanceCallbacks方法的途徑 163
7.2.6 實(shí)現(xiàn)InstanceCallbacks的隱含意義 171
7.2.7 在回調(diào)方法內(nèi)部拋出不需檢查異常 171
7.3 JDO異常 171
7.3.1 JDOException構(gòu)造函數(shù) 172
7.3.2 得到嵌套異常 172
7.3.3 得到失敗對(duì)象 173
7.3.4 覆蓋的方法 173
7.3.5 一個(gè)處理JDO異常的普遍策略 173
7.3.6 各種JDO異常 175
7.3.7 JDO實(shí)現(xiàn)可能拋出的其他運(yùn)行時(shí)異常 179
7.3.8 幾個(gè)處理JDO異常的代碼示例 180
7.4 小結(jié) 183
第8章 使用JDO學(xué)習(xí)更多知識(shí) 184
8.1 Ant構(gòu)建腳本 184
8.2 開(kāi)始 186
8.2.1 第一步:下載開(kāi)放的源JDO學(xué)習(xí)工具 186
8.2.2 第二步:如有必要,下載Java SDK 186
8.2.3 第三步:如有必要,下載Ant 186
8.2.4 第四步:如有必要,下載J2EE Jar 186
8.2.5 第五步:下載JDO實(shí)現(xiàn) 187
8.2.6 第六步:配置構(gòu)建屬性 187
8.2.7 第七步:測(cè)試構(gòu)建環(huán)境 188
8.3 Hello,JDO 189
8.4 詢(xún)問(wèn)PersistenceManagerFactory 190
8.5 MegaCups公司的消費(fèi)Java 192
8.6 控制臺(tái)用戶(hù)接口 194
8.7 查詢(xún)小鎮(zhèn)圖書(shū)館 195
8.7.1 構(gòu)建Library程序 196
8.7.2 使用Library命令 196
8.7.3 運(yùn)行Library程序中的查詢(xún) 197
8.8 監(jiān)測(cè)持久蘋(píng)果的狀態(tài) 199
8.8.1 構(gòu)建StateTracker程序 200
8.8.2 以StateTracker命令開(kāi)始 200
8.8.3 簡(jiǎn)單介紹其他StateTracker命令 204
8.9 使用商業(yè)實(shí)現(xiàn) 205
8.9.1 使用Kodo實(shí)現(xiàn) 205
8.9.2 使用Lido實(shí)現(xiàn) 205
8.9.3 使用IntelliBO實(shí)現(xiàn) 206
8.10 小結(jié) 206
第9章 在Swing應(yīng)用程序中使用JDO 207
9.1 構(gòu)建租賃Swing應(yīng)用程序 207
9.2 對(duì)原型預(yù)訂系統(tǒng)的要求 208
9.2.1 用例1:管理員清除數(shù)據(jù)存儲(chǔ) 208
9.2.2 用例2:管理員初始化數(shù)據(jù)存儲(chǔ) 208
9.2.3 用例3:匿名用戶(hù)標(biāo)識(shí)他自己 208
9.2.4 用例4:有標(biāo)識(shí)用戶(hù)丟棄他的標(biāo)識(shí) 209
9.2.5 用例5:用戶(hù)查看可用的租賃 209
9.2.6 用例6:有標(biāo)識(shí)用戶(hù)進(jìn)行一次預(yù)訂 209
9.2.7 用例7:有標(biāo)識(shí)用戶(hù)查看他的預(yù)訂 209
9.2.8 用例8:有標(biāo)識(shí)用戶(hù)取消某些預(yù)訂 209
9.2.9 用例9:有標(biāo)識(shí)用戶(hù)改變他的預(yù)訂 209
9.2.10 用例10:系統(tǒng)探測(cè)相沖突的預(yù)訂 210
9.2.11 用例11:用戶(hù)查看租賃單元的附加信息 210
9.3 測(cè)試租賃Swing客戶(hù) 210
9.4 在租賃Swing客戶(hù)中遇到相沖突的改變 211
9.5 設(shè)計(jì)租賃Swing應(yīng)用程序 213
9.5.1 租賃Swing應(yīng)用程序的應(yīng)用程序數(shù)據(jù)類(lèi) 213
9.5.2 租賃Swing應(yīng)用程序中的應(yīng)用程序數(shù)據(jù)服務(wù) 215
9.5.3 租賃Swing應(yīng)用程序中的應(yīng)用程序數(shù)據(jù)模型 217
9.5.4 租賃Swing應(yīng)用程序的總體體系結(jié)構(gòu) 218
9.6 小結(jié) 219
第10章 在Web應(yīng)用程序中使用JDO 220
10.1 為T(mén)omcat配置構(gòu)建環(huán)境 220
10.1.1 第八步:安裝Tomcat Servlet容器 220
10.1.2 第九步:安裝JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù) 220
10.1.3 第十步:配置構(gòu)建環(huán)境 221
10.2 構(gòu)建租賃Web應(yīng)用程序 221
10.3 使用租賃Web應(yīng)用程序 223
10.3.1 啟動(dòng)兩個(gè)瀏覽器客戶(hù) 224
10.3.2 在租賃Web客戶(hù)中遇到相沖突的預(yù)訂 225
10.4 Web應(yīng)用程序的一般性設(shè)計(jì)問(wèn)題 226
10.5 租賃Web應(yīng)用程序中的MVC模式 227
10.6 設(shè)計(jì)JDO在Web應(yīng)用程序中的使用 228
10.6.1 會(huì)話(huà)串行化在servlet容器中的任務(wù) 229
10.6.2 設(shè)計(jì)目標(biāo) 229
10.6.3 避免付出垃圾回收的代價(jià) 231
10.7 One-PM-per-Request設(shè)計(jì) 231
10.8 One-PM-per-Session設(shè)計(jì) 243
10.9 One-PM-per-Update設(shè)計(jì) 244
10.10 小結(jié) 245
第11章 在企業(yè)JavaBean中使用JDO 246
11.1 為JBoss配置構(gòu)建環(huán)境 247
11.1.1 第十一步:安裝JBoss 247
11.1.2 第十二步:配置JBoss和Tomcat,以使它們能一起使用 247
11.1.3 第十三步:配置構(gòu)建屬性 248
11.1.4 第十四步:替換JDO參考實(shí)現(xiàn) 248
11.1.5 第十五步:配置JDO連接工廠(chǎng) 249
11.1.6 第十六步:配置JNDI 250
11.2 構(gòu)建租賃企業(yè)應(yīng)用程序 250
11.2.1 補(bǔ)充幾個(gè)小技巧 251
11.2.2 使用租賃企業(yè)應(yīng)用程序 252
11.3 租賃企業(yè)應(yīng)用程序的設(shè)計(jì) 252
11.3.1 預(yù)訂服務(wù)EJB的設(shè)計(jì) 252
11.3.2 預(yù)訂服務(wù)中被封裝的改變 253
11.3.3 對(duì)預(yù)訂服務(wù)所作的公有改變 254
11.3.4 對(duì)應(yīng)用程序數(shù)據(jù)類(lèi)所作的改變 254
11.3.5 對(duì)ReservationServlet控制器所作的改變 255
11.3.6 還有其他改變嗎 256
11.3.7 提高復(fù)雜性 256
11.4 把JDO用于其他類(lèi)型的EJB 256
11.4.1 構(gòu)建引證服務(wù)器EJB 256
11.4.2 使用引證服務(wù)器 257
11.5 小結(jié) 258
術(shù)語(yǔ)表 259

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)