《HIBERNATE 3和JAVA PERSISTENCE API程式開發從入門到精通》 |
【名稱】《HIBERNATE 3和JAVA PERSISTENCE API程式開發從入門到精通》
【定價】¥49.00
【作者】葛京
【出 版 社】 清華大學出版社
【書 號】 9787302158011
【出版日期】2007 年10月
【開 本】 16開
【頁 碼】 393
【版 次】1-1
【所屬分類】 計算機 > 軟體與程式設計 > JAVA > Hibernate
圖書簡介
本書介紹Hibernate開發知識。全書主要介紹信息持久化、對象持久化、對象關係映射等概念,以及Java SE5中最重要的新特性,初始化Hibernate的核心類,使用JPA提供的標準注釋將實體類的不同屬性映射到關係型資料庫的表格,對象關係映射所要面對的兩種複雜關係,使用Hibernate的擴展注釋映射各類複雜的集合接口和集合類,實體對象在Hibernate中存在的4種狀態,Session接口,Hibernate建立的一套完善的查詢框架(Criterion),Hibernate中封裝SQL的策略,Hibernate EntityManager模組的內部構架。
本書面向中高級程式開發人員,適合Hibernate程式設計師、系統構架師、項目經理以及負責協調管理項目開發的開發人員使用。
目錄介紹
第1章 對象映射1
1.1 信息持久化1
1.1.1 使用檔案系統2
1.1.2 使用對象序列化2
1.1.3 使用資料庫3
1.2 對象持久化6
1.2.1 軟體的三層結構
(Three-Layer Architecture)7
1.2.2 對象持久化解決方案9
1.3 對象關係映射(ORM)20
1.3.1 ORM面對的問題21
1.3.2 Hibernate的優勢25
1.3.3 Hibernate3與Java
Persistence API(JPA)26
1.4 小結27
第2章 JAVA SE 5的新特性28
2.1 枚舉類型(Enumerated Types)28
2.2 泛型(Generics)30
2.2.1 泛型和多態32
2.2.2 使用通配符33
2.3 Auto-boxing和unboxing35
2.4 注釋(Annotations)37
2.5 靜態導入(Static Imports)39
2.6 增強的for循環-for/in循環39
2.7 小結40
第3章 使用工具軟體進行項目開發42
3.1 安裝JDK 5.042
3.2 下載Hibernate42
3.3 安裝ANT43
3.4 安裝JUnit45
3.5 安裝HSQLDB46
3.6 安裝Eclipse47
3.7 安裝Quantum DB外掛程式管理HSQLDB49
3.8 小結50
第4章 Hibernate套用實例51
4.1 建立項目51
4.1.1 設定開發環境51
4.1.2 選擇需要的類庫51
4.1.3 在Eclipse里配置項目53
4.1.4 配置Quantum DB管理資料庫54
4.2 用例類圖54
4.3 編寫第一個類56
4.3.1 什麼是POJO56
4.3.2 第一個POJO類57
4.4 配置59
4.4.1 編寫映射檔案59
4.4.2 配置Hibernate60
4.4.3 配置HSQLDB63
4.4.4 配置log4J63
4.5 編寫測試代碼65
4.5.1 測試驅動開發(TDD)66
4.5.2 Junit 467
4.5.3 測試存取Book對象68
4.5.4 更新已存在的Book信息72
4.5.5 從資料庫中刪除Book信息73
4.5.6 查詢Book74
4.6 開發封裝類75
4.6.1 開發HibernateService
Provider類75
4.6.2 開發BookDAO類77
4.7 使用Quantum DB 查看資料庫79
4.8 編寫ANT構建檔案81
4.8.1 運行ANT82
4.8.2 examples項目的構建檔案82
4.8.3 構建並測試項目88
4.9 重構Book類89
4.9.1 使用映射檔案的缺點89
4.9.2 使用注釋重構Book類90
4.9.3 注釋替代映射檔案91
4.9.4 重構封裝類92
4.9.5 為Book類添加繼承和關聯93
4.9.6 拋棄映射檔案99
4.10 最佳化構建環境104
4.10.1 以記憶體模式自動運行
HSQLDB104
4.10.2 把ANT與項目構建環境
進行整合104
4.11 小結106
第5章 配置Hibernate107
5.1 核心類107
5.1.1 初始化類107
5.1.2 數據訪問類113
5.2 兩種配置方式113
5.2.1 使用Java屬性檔案加編碼
方式配置113
5.2.2 使用XML檔案配置119
5.2.3 比較兩種配置方式122
5.3 配置屬性122
5.3.1 配置數據源122
5.3.2 配置SQL方言124
5.3.3 配置事務125
5.3.4 其他可選配置126
5.4 配置日誌127
5.5 小結127
第6章 基本實體類映射128
6.1 兩種映射元數據128
6.1.1 XML映射檔案128
6.1.2 映射注釋130
6.2 基本映射133
6.2.1 定義實體類133
6.2.2 映射表格135
6.2.3 映射表格列136
6.2.4 定義樂觀鎖139
6.2.5 定義暫態屬性141
6.2.6 映射基本數據類型142
6.2.7 嵌入式組件映射149
6.2.8 多表映射153
6.3 映射標識符156
6.3.1 標識符生成策略157
6.3.2 映射聯合主鍵163
6.4 小結168
第7章 高級實體類映射169
7.1 關聯類映射169
7.1.1 單向一對一172
7.1.2 雙向一對一176
7.1.3 單向多對一178
7.1.4 單向一對多179
7.1.5 雙向一對多183
7.1.6 單向多對多186
7.1.7 雙向多對多188
7.2 映射集合191
7.2.1 List<E>192
7.2.2 Map<K, V>193
7.3 繼承類映射196
7.3.1 單個表197
7.3.2 一類一表200
7.3.3 子類一表202
7.3.4 使用@MappedSuperClass注釋204
7.4 小結205
第8章 Hibernate映射信息擴展206
8.1 映射集合206
8.1.1 映射基本類集合206
8.1.2 映射高級集合216
8.1.3 映射基元數據集合218
8.2 自定義類映射220
8.3 標識符生成器226
8.4 小結228
第9章 持久化對象、事務和快取229
9.1 持久化對象的生命周期229
9.2 對象識別230
9.2.1 標識符234
9.2.2 屬性235
9.2.3 業務鍵屬性237
9.2.4 標識符加業務鍵屬性238
9.2.5 區別對待暫態和游離態對象240
9.3 事務242
9.3.1 ACID243
9.3.2 事務隔離等級
(Transaction Isolation Level)244
9.3.3 Transaction接口245
9.3.4 數據鎖定247
9.3.5 死鎖248
9.4 快取249
9.4.1 一級快取250
9.4.2 二級快取251
9.4.3 使用二級快取253
9.4.4 查詢快取255
9.5 小結256
第10章 Hibernate Session,事件和
攔截器258
10.1 Hibernate Session258
10.1.1 管理對象258
10.1.2 其他方法273
10.1.3 Session的生存期274
10.2 事件275
10.2.1 事件系統構架275
10.2.2 get()與load()生於同根276
10.2.3 save()、update()和
saveOrUpdate()師出同門278
10.2.4 擴展283
10.3 interceptor286
10.4 小結289
第11章 Criterion框架290
11.1 SQL簡介290
11.1.1 查詢子句291
11.1.2 子查詢294
11.1.3 聯合查詢294
11.2 使用Criteria進行查詢296
11.2.1 Criterion構架296
11.2.2 創建Criteria查詢298
11.2.3 使用Restrictions類為查詢
增加限制303
11.2.4 使用Projections類實現
投影查詢306
11.2.5 聯合查詢309
11.2.6 舉例查詢(QBE)310
11.2.7 設定模式和查詢相關屬性312
11.2.8 DetachedCriteria315
11.3 小結316
第12章 HQL和Hibernate Query
接口317
12.1 Hibernate Query Language319
12.1.1 基本查詢320
12.1.2 where子句322
12.1.3 子查詢324
12.1.4 聯合查詢324
12.1.5 動態實例查詢329
12.2 Hibernate Query接口330
12.2.1 Hibernate風格的參數綁定330
12.2.2 JDBC風格的參數綁定333
12.2.3 處理結果集333
12.2.4 n+1查詢問題334
12.2.5 調用命名查詢341
12.3 使用SQL進行查詢343
12.4 批量數據處理345
12.4.1 使用StatelessSession345
12.4.2 使用Session346
12.5 過濾器347
12.5.1 過濾查詢對象348
12.5.2 過濾集合對象350
12.6 JPA Query接口351
12.7 小結353
第13章 以JPA方式使用Hibernate354
13.1 Hibernate EntityManager內部構架354
13.1.1 主要的JPA類和接口354
13.1.2 Hibernate擴展接口357
13.1.3 Hibernate實現類358
13.1.4 以JPA方式運行Hibernate360
13.2 重構Book套用實例363
13.2.1 重構測試類363
13.2.2 重構BookDAO類366
13.2.3 重構ServiceProvider類368
13.2.4 映射檔案371
13.3 小結372
附錄A 使用Hudson持續集成373
A.1 使用持續集成軟體374
A.2 使用Hudson375
A.2.1 配置原始碼管理器378
A.2.2 配置Poll SCM379
A.2.3 配置Ant target379
A.2.4 配置email提醒380
附錄B 使用隨書所附原始碼385
B.1 光碟結構385
B.1.1 example項目386
B.1.2 jpaproject項目388
B.1.3 測試代碼389
B.2 構建和測試項目390
專業辭彙翻譯(按英文字母排序)392
參考書目394
網上資料395