JAVA開發專傢·精通Hibernate:Java對象持久化技術詳解(第2版)(附光盤1張)

JAVA開發專傢·精通Hibernate:Java對象持久化技術詳解(第2版)(附光盤1張) 下載 mobi epub pdf 電子書 2025

孫衛琴 著
圖書標籤:
  • Java
  • Hibernate
  • JPA
  • ORM
  • 持久化
  • 數據庫
  • Java開發
  • 數據訪問
  • 第二版
  • 實戰
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 電子工業齣版社
ISBN:9787121093739
版次:1
商品編碼:10067435
包裝:平裝
叢書名: JAVA開發專傢
開本:16開
齣版時間:2010-02-01
用紙:膠版紙
頁數:716
字數:1148800
附件:光盤
附件數量:1

具體描述

編輯推薦

凝聚Java魅力,成就開發專傢 看清Java萬花筒的本質,從復雜的錶象中尋找普遍的規律,深刻理解Java的核心思想 本書在第1版的基礎上,並結閤作者多年經驗,將更新的理論知識,精心細緻地介紹新技術應用。

內容簡介

《精通Hibernate:Java對象持久化技術詳解(第2版)》在一版基礎上,理論內容更新,更加注重理論與實踐的結閤,有大量具有典型性和實用價值的Hibernate應用實例。全書將詳細介紹運用目前成熟的Hibernate 3.3版本進行Java對象持久化的技術,既能掌握用Hibernate工具對這兩種模型進行映射的技術,又能獲得設計與開發Java對象模型和關係數據模型的經驗。光盤包括《精通Hibernate:Java對象持久化技術詳解(第2版)》範例源程序、涉及軟件的新版本的安裝程序,以及配套的語音講座。
《精通Hibernate:Java對象持久化技術詳解(第2版)》無論對於Java開發的新手還是行傢來說,都是精通Java對象持久化技術的必備實用手冊。

作者簡介

孫衛琴:知名IT作傢的,Java係列暢銷書的作者。1997年畢業於上海交通大學,隨後從事基於Java的軟件開發工作,還從事Java方麵的培訓和谘詢工作,2002年開始Java技術領域的創作,其作者深受讀者歡迎。
代錶作有:
《精通Hibernate:Java對象持久化技術詳解(第2版)》2010-1-13
《Tomcat與Java Web開發技術詳解(第2版)》2009
《Java網絡編程精解》2007
《Java麵嚮對象編程》2006
《精通Hibernate:Java對象持久化技術詳解》2005
《精通Struts:基於MVC的Java Web設計與開發》2004
《Tomcat與Java Web開發技術詳解》2004
《Java 2認證考試指南與試題解析》2002

內頁插圖

目錄

第1章 Java應用分層架構及軟件模型 1
1.1 應用程序的分層體係結構 1
1.1.1 區分物理層和邏輯層 2
1.1.2 軟件層的特徵 3
1.1.3 軟件分層的優點 4
1.1.4 軟件分層的缺點 4
1.1.5 Java應用的持久化層 5
1.2 軟件的模型 6
1.2.1 概念模型 7
1.2.2 關係數據模型 8
1.2.3 域模型 10
1.2.4 域對象 10
1.2.5 域對象之間的關係 11
1.2.6 域對象的持久化概念 17
1.3 小結 19
1.4 思考題 19

第2章 Java對象持久化技術概述 21
2.1 直接通過JDBC API來持久化實體域對象 21
2.2 ORM簡介 27
2.2.1 對象-關係映射的概念 29
2.2.2 ORM中間件的基本使用方法 31
2.2.3 常用的ORM中間件 33
2.3 實體域對象的其他持久化模式 34
2.3.1 主動域對象模式 35
2.3.2 JDO模式 37
2.3.3 CMP模式 37
2.4 Hibernate API簡介 38
2.4.1 Hibernate的核心接口 39
2.4.2 事件處理接口 41
2.4.3 Hibernate映射類型接口 41
2.4.4 可供擴展的接口 42
2.5 小結 43
2.6 思考題 45

第3章 第一個Hibernate應用 47
3.1 創建Hibernate的配置文件 47
3.2 創建持久化類 48
3.3 創建數據庫Schema 51
3.4 創建對象-關係映射文件 52
3.4.1 映射文件的文檔類型定義(DTD) 52
3.4.2 把Customer持久化類映射到CUSTOMERS錶 54
3.5 通過Hibernate API操縱數據庫 58
3.5.1 Hibernate的初始化 61
3.5.2 訪問Hibernate的Session接口 63
3.6 運行helloapp應用 67
3.6.1 創建運行本書範例的係統環境 67
3.6.2 創建helloapp應用的目錄結構 72
3.6.3 把helloapp應用作為獨立應用程序運行 73
3.6.4 把helloapp應用作為Java Web應用運行 77
3.7 小結 78
3.8 思考題 80

第4章 hbm2java和hbm2ddl工具 83
4.1 創建對象-關係映射文件 83
4.1.1 定製持久化類 85
4.1.2 定製數據庫錶 88
4.2 建立項目的目錄結構 90
4.3 運行hbm2java工具 93
4.4 運行hbm2ddl工具 94
4.5 使用XML格式的配置文件 96
4.6 小結 97
4.7 思考題 98

第5章 對象-關係映射基礎 101
5.1 持久化類的屬性及訪問方法 101
5.1.1 基本類型屬性和包裝類型屬性 102
5.1.2 Hibernate訪問持久化類屬性的策略 104
5.1.3 在持久化類的訪問方法中加入程序邏輯 104
5.1.4 設置派生屬性 107
5.1.5 控製insert和update語句 108
5.2 處理SQL引用標識符 109
5.3 創建命名策略 110
5.4 設置數據庫Schema 112
5.5 設置類的包名 113
5.6 運行本章的範例程序 114
5.7 小結 120
5.8 思考題 121

第6章 映射對象標識符 123
6.1 關係數據庫按主鍵區分不同的記錄 123
6.1.1 把主鍵定義為自動增長標識符類型 123
6.1.2 從序列(Sequence)中獲取自動增長的標識符 124
6.2 Java語言按內存地址區分不同的對象 125
6.3 Hibernate用對象標識符(OID)來區分對象 126
6.4 Hibernate的內置標識符生成器的用法 128
6.4.1 increment標識符生成器 131
6.4.2 identity標識符生成器 133
6.4.3 sequence標識符生成器 134
6.4.4 hilo標識符生成器 135
6.4.5 native標識符生成器 137
6.5 映射自然主鍵 138
6.5.1 映射單個自然主鍵 138
6.5.2 映射復閤自然主鍵 140
6.6 小結 143
6.7 思考題 144

第7章 映射一對多關聯關係 147
7.1 建立多對一的單嚮關聯關係 148
7.1.1 元素的not-null屬性 153
7.1.2 級聯保存和更新 155
7.2 映射一對多雙嚮關聯關係 156
7.2.1 元素的inverse屬性 161
7.2.2 級聯刪除 163
7.2.3 父子關係 164
7.3 映射一對多雙嚮自身關聯關係 165
7.4 改進持久化類 171
7.5 小結 175
7.6 思考題 176

第8章 通過Hibernate操縱對象(上) 179
8.1 Java對象在JVM中的生命周期 179
8.2 理解Session的緩存 181
8.2.1 Session的緩存的作用 182
8.2.2 髒檢查及清理緩存的機製 184
8.3 Java對象在Hibernate持久化層的狀態 187
8.3.1 臨時對象的特徵 188
8.3.2 持久化對象的特徵 189
8.3.3 被刪除對象的特徵 190
8.3.4 遊離對象的特徵 191
8.4 Session接口的詳細用法 191
8.4.1 Session的save()和persist()方法 191
8.4.2 Session的load()和get()方法 194
8.4.3 Session的update()方法 195
8.4.4 Session的saveOrUpdate()方法 197
8.4.5 Session的merge()方法 198
8.4.6 Session的delete()方法 200
8.4.7 Session的replicate()方法 201
8.5 級聯操縱對象圖 202
8.5.1 級聯保存臨時對象 206
8.5.2 更新持久化對象 207
8.5.3 持久化臨時對象 207
8.5.4 更新遊離對象 209
8.5.5 遍曆對象圖 210
8.6 小結 211
8.7 思考題 211

第9章 通過Hibernate操縱對象(下) 215
9.1 與觸發器協同工作 215
9.2 利用攔截器(Interceptor)生成審計日誌 217
9.3 Hibernate的事件處理機製 224
9.4 批量處理數據 226
9.4.1 通過Session來進行批量操作 227
9.4.2 通過StatelessSession來進行批量操作 229
9.4.3 通過HQL來進行批量操作 230
9.4.4 直接通過JDBC API來進行批量操作 232
9.5 使用元數據 233
9.6 通過Hibernate調用存儲過程 234
9.7 小結 234
9.8 思考題 235

第10章 映射組成關係 237
10.1 建立精粒度對象模型 238
10.2 建立粗粒度關係數據模型 239
10.3 映射組成關係 240
10.3.1 區分值(Value)類型和實體(Entity)類型 242
10.3.2 在應用程序中訪問具有組成關係的持久化類 244
10.4 映射復閤組成關係 247
10.5 小結 248
10.6 思考題 249

第11章 Hibernate的映射類型 251
11.1 Hibernate的內置映射類型 251
11.1.1 Java基本類型的Hibernate映射類型 251
11.1.2 Java時間和日期類型的Hibernate映射類型 252
11.1.3 Java大對象類型的Hibernate映射類型 253
11.1.4 JDK自帶的個彆Java類的Hibernate映射類型 253
11.1.5 使用Hibernate內置映射類型 254
11.2 客戶化映射類型 256
11.2.1 用客戶化映射類型取代Hibernate組件 260
11.2.2 用UserType映射枚舉類型 263
11.2.3 實現CompositeUserType接口 266
11.2.4 運行本節範例程序 271
11.3 操縱Blob和Clob類型數據 279
11.4 小結 284
11.5 思考題 284

第12章 映射繼承關係 287
12.1 繼承關係樹的每個具體類對應一個錶 288
12.1.1 創建映射文件 289
12.1.2 操縱持久化對象 290
12.2 繼承關係樹的根類對應一個錶 293
12.2.1 創建映射文件 294
12.2.2 操縱持久化對象 296
12.3 繼承關係樹的每個類對應一個錶 297
12.3.1 創建映射文件 298
12.3.2 操縱持久化對象 300
12.4 選擇繼承關係的映射方式 302
12.5 映射多對一多態關聯 305
12.6 小結 308
12.7 思考題 309

第13章 Java集閤類 311
13.1 Set(集) 312
13.1.1 Set的一般用法 312
13.1.2 HashSet類 313
13.1.3 TreeSet類 315
13.1.4 嚮Set中加入持久化類的對象 319
13.2 List(列錶) 320
13.3 Map(映射) 321
13.4 小結 325
13.5 思考題 326

第14章 映射值類型集閤 327
14.1 映射Set(集) 327
14.2 映射Bag(包) 331
14.3 映射List(列錶) 334
14.4 映射Map 337
14.5 對集閤排序 339
14.5.1 在數據庫中對集閤排序 340
14.5.2 在內存中對集閤排序 341
14.6 映射組件類型集閤 345
14.7 小結 350
14.8 思考題 351

第15章 映射實體關聯關係 353
15.1 映射一對一關聯 353
15.1.1 按照外鍵映射 354
15.1.2 按照主鍵映射 358
15.2 映射單嚮多對多關聯 361
15.3 映射雙嚮多對多關聯關係 365
15.3.1 關聯兩端使用元素 366
15.3.2 在inverse端使用元素 367
15.3.3 使用組件類集閤 371
15.3.4 把多對多關聯分解為兩個一對多關聯 376
15.4 小結 378
15.5 思考題 379

第16章 Hibernate的檢索策略 381
16.1 Hibernate的檢索策略簡介 383
16.2 類級彆的檢索策略 386
16.2.1 立即檢索 387
16.2.2 延遲檢索 387
16.3 一對多和多對多關聯的檢索策略 390
16.3.1 立即檢索(lazy屬性為“false”) 392
16.3.2 延遲檢索(lazy屬性為默認值“true”) 392
16.3.3 增強延遲檢索(lazy屬性為“extra”) 393
16.3.4 批量延遲檢索和批量立即檢索(使用batch-size屬性) 393
16.3.5 用帶子查詢的select語句整批量初始化orders集閤(fetch屬性為“subselect”) 396
16.3.6 迫切左外連接檢索(fetch屬性為“join”) 397
16.4 多對一和一對一關聯的檢索策略 398
16.4.1 迫切左外連接檢索(fetch屬性為“join”) 398
16.4.2 延遲檢索(lazy屬性為默認值“proxy”) 400
16.4.3 無代理延遲檢索(lazy屬性為“no-proxy”) 401
16.4.4 立即檢索(lazy屬性為“false”) 401
16.4.5 批量延遲檢索和批量立即檢索(使用batch-size屬性) 402
16.5 控製迫切左外連接檢索的深度 405
16.6 在應用程序中顯式指定迫切左外連接檢索策略 408
16.7 屬性級彆的檢索策略 408
16.8 小結 409
16.9 思考題 411

第17章 Hibernate的檢索方式(上) 413
17.1 Hibernate的檢索方式簡介 413
17.1.1 HQL檢索方式 416
17.1.2 QBC檢索方式 417
17.1.3 本地SQL檢索方式 419
17.1.4 關於本章範例程序 420
17.1.5 使用彆名 421
17.1.6 多態查詢 421
17.1.7 對查詢結果排序 422
17.1.8 分頁查詢 423
17.1.9 檢索單個對象(uniqueResult()方法) 424
17.1.10 按主鍵逐個處理查詢結果(iterate()方法) 425
17.1.11 可滾動的結果集 426
17.1.12 在HQL查詢語句中綁定參數 428
17.1.13 設置查詢附屬事項 433
17.1.14 在映射文件中定義命名查詢語句 436
17.1.15 在HQL查詢語句中調用函數 438
17.2 設定查詢條件 439
17.2.1 比較運算 440
17.2.2 範圍運算 441
17.2.3 字符串模式匹配 442
17.2.4 邏輯運算 443
17.2.5 集閤運算 444
17.3 小結 445
17.4 思考題 446

第18章 Hibernate的檢索方式(下) 449
18.1 連接查詢 449
18.1.1 默認情況下關聯級彆的運行時檢索策略 450
18.1.2 迫切左外連接 451
18.1.3 左外連接 453
18.1.4 內連接 457
18.1.5 迫切內連接 461
18.1.6 隱式內連接 463
18.1.7 右外連接 464
18.1.8 使用SQL風格的交叉連接和隱式內連接 466
18.1.9 關聯級彆運行時的檢索策略 467
18.2 投影查詢 468
18.3 報錶查詢 471
18.3.1 使用聚集函數 471
18.3.2 分組查詢 472
18.3.3 優化報錶查詢的性能 475
18.4 高級查詢技巧 475
18.4.1 動態查詢 476
18.4.2 集閤過濾 478
18.4.3 子查詢 480
18.4.4 本地SQL查詢 482
18.4.5 查詢結果轉換器 484
18.5 查詢性能優化 486
18.5.1 iterate()方法 486
18.5.2 查詢緩存 487
18.6 小結 488
18.7 思考題 489

第19章 Hibernate高級配置 491
19.1 配置數據庫連接池 491
19.1.1 使用默認的數據庫連接池 494
19.1.2 使用配置文件指定的數據庫連接池 495
19.1.3 從容器中獲得數據源 495
19.1.4 由Java應用本身提供數據庫連接 497
19.2 配置事務類型 497
19.3 把SessionFactory與JNDI綁定 500
19.4 配置日誌 502
19.5 使用XML格式的配置文件 505
19.6 小結 507
19.7 思考題 508

第20章 聲明數據庫事務 511
20.1 數據庫事務的概念 511
20.2 聲明事務邊界的方式 513
20.3 在mysql.exe程序中聲明事務 515
20.4 Java應用通過JDBC API聲明JDBC事務 517
20.5 Java應用通過Hibernate API聲明JDBC事務 518
20.5.1 處理異常 520
20.5.2 Session與事務的關係 522
20.5.3 設定事務超時 525
20.6 Java應用通過Hibernate API聲明JTA事務 525
20.7 Java應用通過JTA API聲明JTA事務 526
20.8 小結 529
20.9 思考題 530

第21章 處理並發問題 533
21.1 多個事務並發運行時的並發問題 533
21.1.1 第一類丟失更新 534
21.1.2 髒讀 535
21.1.3 虛讀 535
21.1.4 不可重復讀 536
21.1.5 第二類丟失更新 536
21.2 數據庫係統的鎖的基本原理 537
21.2.1 鎖的多粒度性及自動鎖升級 538
21.2.2 鎖的類型和兼容性 538
21.2.3 死鎖及其防止辦法 540
21.3 數據庫的事務隔離級彆 541
21.3.1 在mysql.exe程序中設置隔離級彆 543
21.3.2 在應用程序中設置隔離級彆 543
21.4 在應用程序中采用悲觀鎖 544
21.4.1 利用數據庫係統的獨占鎖來實現悲觀鎖 544
21.4.2 由應用程序實現悲觀鎖 550
21.5 利用Hibernate的版本控製來實現樂觀鎖 550
21.5.1 使用元素 551
21.5.2 使用元素 556
21.5.3 對遊離對象進行版本檢查 558
21.5.4 強製更新版本 559
21.6 實現樂觀鎖的其他方法 559
21.7 小結 560
21.8 思考題 561

第22章 管理Hibernate的緩存 563
22.1 緩存的基本原理 563
22.1.1 持久化層的緩存的範圍 564
22.1.2 持久化層的緩存的並發訪問策略 566
22.2 Hibernate的二級緩存結構 568
22.3 管理Hibernate的第一級緩存 569
22.4 管理Hibernate的第二級緩存 570
22.4.1 配置進程範圍內的第二級緩存 571
22.4.2 配置集群範圍內的第二級緩存 575
22.4.3 在應用程序中管理第二級緩存 578
22.4.4 Session與第二級緩存的交互模式 578
22.5 運行本章的範例程序 579
22.6 小結 583
22.7 思考題 584

第23章 管理Session和實現對話 587
23.1 管理Session對象的生命周期 587
23.1.1 Session對象的生命周期與本地綫程綁定 590
23.1.2 Session對象的生命周期與JTA事務綁定 592
23.2 實現對話 593
23.2.1 使用遊離對象 595
23.2.2 使用手工清理緩存模式下的Session 597
23.3 小結 603
23.4 思考題 605

第24章 Hibernate與Struts框架 607
24.1 實現業務數據 609
24.2 實現業務邏輯 612
24.3 netstore應用的訂單業務 622
24.4 小結 626

第25章 Hibernate與EJB組件 629
25.1 創建EJB組件 629
25.1.1 編寫Remote接口 629
25.1.2 編寫Home接口 631
25.1.3 編寫Enterprise Java Bean類 631
25.2 在業務代理類中訪問EJB組件 633
25.3 發布J2EE應用 638
25.3.1 在JBoss上部署EJB組件 638
25.3.2 在JBoss上部署Web應用 639
25.3.3 在JBoss上部署J2EE應用 640
25.4 小結 642

附錄A 標準SQL語言的用法 643
A.1 數據完整性 644
A.1.1 實體完整性 644
A.1.2 域完整性 644
A.1.3 參照完整性 644
A.2 DDL數據定義語言 644
A.3 DML數據操縱語言 646
A.4 DQL數據查詢語言 647
A.4.1 簡單查詢 648
A.4.2 連接查詢 648
A.4.3 子查詢 651
A.4.4 聯閤查詢 652
A.4.5 報錶查詢 652
附錄B Java語言的反射機製 655
B.1 Java Reflection API簡介 655
B.2 運用反射機製來持久化Java對象 658
附錄C 用XDoclet工具生成映射文件 665
C.1 創建帶有@hibernate標記的Java源文件 665
C.2 建立項目的目錄結構 669
C.3 運行XDoclet工具 672
附錄D 發布和運行netstore應用 675
D.1 運行netstore所需的軟件 675
D.2 netstore應用的目錄結構 676
D.3 安裝SAMPLEDB數據庫 677
D.4 安裝和配置JBoss服務器 677
D.5 發布netstore應用 679
D.5.1 在工作模式1下發布netstore應用 679
D.5.2 在工作模式2下發布netstore應用 679
D.6 運行netstore應用 680
附錄E Hibernate 3升級指南 685
E.1 Hibernate API 變化 685
E.1.1 包名 685
E.1.2 org.hibernate.classic包 685
E.1.3 Hibernate所依賴的第三方軟件包 686
E.1.4 異常模型 686
E.1.5 Session接口 686
E.1.6 createSQLQuery() 687
E.1.7 Lifecycle 和 Validatable 接口 687
E.1.8 Interceptor接口 687
E.1.9 UserType和CompositeUserType接口 687
E.1.10 FetchMode類 688
E.1.11 PersistentEnum類 688
E.1.12 對Blob 和Clob的支持 688
E.1.13 Hibernate中供擴展的API的變化 688
E.2 元數據的變化 688
E.2.1 檢索策略 688
E.2.2 對象標識符的映射 688
E.2.3 集閤映射 689
E.2.4 DTD 689
E.3 查詢語句的變化 689
E.4 把Hibernate 2應用升級到Hibernate 3應用 690
附錄F 思考題答案 691
參考文獻 693

精彩書摘

第9章 通過Hibernate操縱對象(下)
9.1 與觸發器協同工作
數據庫係統有時會利用觸發器來完成某些業務規則。觸發器在接收到特定的事件時被激發,執行事先定義好的一組數據庫操作。能激發觸發器運行的事件可分為以下幾種:
插入記錄事件,即執行insert語句。
更新記錄事件,即執行update語句。
刪除記錄事件,即執行delete語句。
當Hibernate與數據庫中的觸發器協同工作時,會造成兩類問題:觸發器使Session的緩存中的持久化對象與數據庫中對應數據不一緻。
Session的update()方法盲目地激發觸發器。
下麵分彆介紹齣現這兩類問題的原因及解決辦法。
1.觸發器使Session緩存中的數據與數據庫不一緻
當Session嚮數據庫中保存、更新或刪除對象時,如果會激發數據庫中的某個觸發器,常常會帶來~個問題,那就是Session緩存中的持久化對象無法與數據庫中的數據保持同步。齣現這一問題的原因在於觸發器運行在數據庫中,它執行的操作對Session是透明的,假如在Session的緩存中已經存在一個Customer對象,接下來當觸發器修改數據庫中CUSTOMERS錶的相應記錄時,Session無法檢測到數據庫中數據的變化,因此Session不會自動刷新緩存中的Customer對象。下麵舉例說明。

前言/序言

  在如今的企業級應用開發環境中,麵嚮對象的開發方法已成為主流。眾所周知,對象隻能存在於內存中,而內存不能永久保存數據。如果要永久保存對象的狀態,需要進行對象的持久化,即把對象存儲到專門的數據存儲庫中。目前,關係數據庫仍然是使用最廣泛的數據存儲庫。關係數據庫中存放的是關係數據,它是非麵嚮對象的。
  對象和關係數據其實是業務實體的兩種錶現形式。業務實體在內存中錶現為對象,在數據庫中錶現為關係數據。內存中的對象之間存在關聯和繼承關係,而在數據庫中,關係數據無法直接錶達多對多關聯和繼承關係。因此,把對象持久化到關係數據庫中,需要進行對象-關係的映射(Object/Relation Mapping,簡稱ORM),這是一項煩瑣耗時的工作。
  在實際應用中,除瞭需要把內存中的對象持久化到數據庫外,還需要把數據庫中的關係數據再重新加載到內存中,以滿足用戶查詢業務數據的需求。頻繁地訪問數據庫,會對應用的性能造成很大影響。為瞭降低訪問數據庫的頻率,可以把需要經常被訪問的業務數據存放在緩存中,並且通過特定的機製來保證緩存中的數據與數據庫中的數據同步。
  在Java領域,可以直接通過JDBC編程來訪問數據庫。JDBC可以說是訪問關係數據庫的最原始、最直接的方法。這種方式的優點是運行效率高,缺點是在Java程序代碼中嵌入大量SQL語句,使得項目難以維護。在開發企業級應用時,可以通過JDBC編程來開發單獨的持久化層,把數據庫訪問操作封裝起來,提供簡潔的API,供業務層統一調用。但是,如果關係數據模型非常復雜,那麼直接通過JDBC編程來實現持久化層就需要有專業的知識。對於企業應用的開發人員,花費大量時間從頭開發自己的持久化層不是很可行的。
  幸運的是,目前在持久化層已經有好多種現成的持久化中間件可供選用,有些是商業性的,如TopLink;有些是非商業性的,如JDO和Hibernate。Hibernate是一個基於Java的開放源代碼的持久化中間件,它對JDBC做瞭輕量級封裝,不僅提供ORM映射服務,還提供數據查詢和數據緩存功能,Java開發人員可以方便地通過Hibernate API來操縱數據庫。
  現在,越來越多的Java開發人員把Hibernate作為企業應用和關係數據庫之間的中間件,以節省和對象持久化有關的30%的JDBC編程工作量。2005年,Hibernate作為優秀的類庫和組件,榮獲瞭第15屆Jolt大奬。Hibernate之所以能夠流行,歸功於它的以下優勢。
  (1)它是開放源代碼的,允許開發人員在需要的時候研究源代碼,改寫源代碼,定製客戶化功能。
  (2)具有詳細的參考文檔。
  (3)對JDBC僅做瞭輕量級封裝,若有必要的話,用戶還可以繞過Hibernate,直接訪問JDBC API。
  (4)具有可擴展性。
  (5)使用方便,容易上手。
  (6)Hibernate既適用於獨立的Java程序,也適用於Java Web應用,而且還可在J2EE架構中取代CMP(Container-managered Persistence,由容器管理持久化),完成對象持久化的重任,Hibernate能集成到會話EJB和基於BMP的實體EJB中,BMP(Bean- managered Persistence)是指由實體EJB本身管理持久化。
  (7)Hibernate可以和多種Web服務器、應用服務器良好集成,並且支持幾乎所有流行的數據庫服務器。
  本書結閤大量典型的實例,詳細介紹運用目前最成熟的Hibernate 3.3版本進行Java對象持久化的技術。Hibernate是連接Java對象模型和關係數據模型的橋梁,通過本書,讀者不僅能掌握用Hibernate工具對這兩種模型進行映射的技術,還能獲得設計與開發Java對象模型和關係數據模型的先進經驗。
  本書的組織結構和主要內容
  本書按照由淺入深、前後照應的順序來安排內容,主要包含以下內容。
  1.Hibernate入門(第1章、第2章和第3章)
  第1章、第2章和第3章為入門篇。第1章和第2章概要介紹和Java對象持久化相關的各種技術,詳細闡述中間件、Java對象的持久化、持久化層、數據訪問細節、ORM、域模型和關係數據模型等概念。
  第3章以一個Hibernate應用實例—helloapp應用為例,引導讀者把握設計、開發和部署Hibernate應用的整體流程,理解Hibernate在分層的軟件結構中所處的位置。
  對於已經在Java對象持久化領域有一定工作經驗的開發人員,可以從第1章和第2章入手,高屋建瓴地把握持久化領域的各種理論,對於新手,不妨先閱讀第3章,以便快速獲得開發Hibernate應用的實際經驗。
  2.Hibernate工具(第4章和附錄C)
  第4章和附錄C介紹Hibernate的一些代碼轉換工具的用法,例如,hbm2java工具能根據映射文件自動生成Java源文件,hbm2ddl功能能根據映射文件自動生成數據庫Schema。
  3.對象-關係映射技術(第5、6、7、10、11、12、13、14和15章)
  本書重點介紹的內容之一就是如何運用Hibernate工具,把對象模型映射到關係數據模型,相關章節包括:
  第5章:介紹對象-關係映射的基礎知識。
  第6章:介紹對象標識符的映射方法。
  第7章:介紹一對多關聯關係的映射方法。
  第10章:介紹組成關係的映射方法。
  第11章:介紹Java類型、SQL類型和Hibernate映射類型之間的對應關係。
  第12章:介紹繼承關係的映射方法。
  第13章:介紹Java集閤類的用法,這一章主要是為第14章做鋪墊的。
  第14章:介紹Java集閤的映射方法。
  第15章:介紹一對一和多對多關聯關係的映射方法。
  4.通過Hibernate API操縱數據庫(第8、9和23章)
  第8章介紹運用Hibernate API來保存、更新、刪除、加載或查詢Java對象的方法,並介紹Java對象在持久化層的4種狀態:臨時狀態、持久化狀態、遊離狀態和刪除狀態。深入理解Java對象的4種狀態及狀態轉化機製,是編寫健壯的Hibernate應用程序的必要條件。
  第9章介紹Hibernate與觸發器協同工作的技巧、攔截器(Interceptor)的用法,以及擴展Hibernate的事件監聽器的方法。此外,還介紹Hibernate提供的批量處理數據的各種方法。
  第23章介紹Session的生命周期的管理方式,以及會話的實現方式。這一章的內容將幫助讀者簡化Hibernate應用的程序代碼,並且為應用設計閤理的軟件架構。
  5.Hibernate的檢索策略和檢索方式(第16、17和18章)
  第16章介紹Hibernate的各種檢索策略,對每一種檢索策略,都介紹它的適用場閤。第17章和第18章介紹HQL查詢語句的語法,以及QBC API的使用方法。閤理運用Hibernate的檢索策略及檢索技巧,是提高Hibernate應用性能的重要手段。
  6.數據庫事務、並發、緩存與性能優化(第20、21和22章)
  第20章先介紹數據庫事務的概念,接著介紹運用Hibernate API和JTA API來聲明事務邊界的方法。
  第21章介紹在並發環境中齣現的各種並發問題,然後介紹采用Hibernate的悲觀鎖,以及版本控製功能來避免並發問題的方法。
  第22章介紹Hibernate的二級緩存機製,並介紹如何根據實際需要來配置Hibernate的第二級緩存,以提高應用的性能。
  7.Hibernate高級配置(第19章)
  第19章主要介紹Hibernate應用的兩種運行環境:受管理環境與不受管理環境,然後介紹在這兩種環境中配置數據庫連接池、SessionFactory實例及事務的方法。
  8.綜閤實例(第24、25章)
  第24章和第25章介紹一個名為netstore應用的電子商務網站的實例,netstore應用是利用Struts作為Java Web框架,用Hibernate來完成對象持久化的任務,並且分彆用普通的JavaBean及EJB組件來實現業務邏輯。
  9.附錄
  本書的附錄介紹標準SQL語言的主要用法、Java的反射機製、XDoclet工具的用法,以及把Hibernate 2應用升級到Hibernate 3應用的方法。在介紹標準SQL語言和Java反射機製時,都不是泛泛而談,而是有針對性地介紹與Hibernate緊密相關的知識,如SQL連接查詢,以及運用Java反射機製來實現持久化中間件的基本原理。
  本書的範例程序
  為瞭使讀者不但能掌握用Hibernate來持久化Java對象的理論,並且能迅速獲得開發Hibernate應用的實際經驗,徹底掌握並會靈活運用Hibernate技術,本書幾乎為每一章都提供完整的Hibernate應用範例,本書配套光盤中包含所有範例源文件。
  為瞭方便初學者能順利地運行本書的範例,光盤上提供的所有範例程序都是可運行的。讀者隻要把它們復製到本地機器上,就能夠運行,不需要再做額外的配置。此外,在每個範例的根目錄下還提供瞭ANT工具的工程文件build.xml,它用於編譯和運行範例程序。
  本書最後還提供瞭一個完整的netstore應用例子,它實現瞭一個購物網站,更加貼近實際應用。本書以netstore應用為例,介紹軟件的MVC框架,控製層與模型層之間通過遊離對象來傳輸數據的方式,以及模型層采用閤理的檢索策略來控製檢索齣來的對象圖的深度,從而優化應用的性能的技巧。
  這本書是否適閤您
  把Java對象持久化到關係數據庫,幾乎是所有企業Java應用必不可少的重要環節,因此本書適用於所有從事開發Java應用的讀者。Hibernate是Java應用和關係數據庫之間的橋梁,閱讀本書,要求讀者具備Java語言和關係數據庫的基礎知識。
  如果您是開發Hibernate應用的新手,建議按照本書的先後順序來學習。可以先從簡單的Hibernate應用實例下手,把握開發Hibernat應用的大緻流程,然後逐步深入地瞭解把對象模型映射到關係數據模型的各種細節。
  如果您已經在開發Hibernate應用方麵有著豐富的經驗,則可以把本書作為實用的Hibernate技術參考資料。本書深入探討把復雜的對象模型映射到關係數據模型的各種映射方案,詳細介紹通過Hibernate API來操縱數據庫的方法。靈活運用本書介紹的Hibernate最新技術,將使您開發Hibernate應用更加得心應手。
  實踐是掌握Hibernate的好方法。為瞭讓讀者徹底掌握並學會靈活運用Hibernate,本書為每一章都提供瞭典型範例,本書配套光盤中提供瞭完整的源代碼,以及軟件安裝程序。建議讀者在學習Hibernate技術的過程中,善於將理論與實踐相結閤,以達到事半功倍的效果。
  光盤使用說明
  本書配套光盤包含以下目錄。
  1.software目錄
  在該目錄下包含本書內容涉及的所有軟件的最新版本的安裝程序,包括:
  (1)Hibernate核心軟件包(Hibernate 3.3)。
  (2)Hibernate工具軟件包(HibernateTools 3.2)。
  (3)MySQL服務器的安裝軟件(MySQL 5)。
  (4)MySQL的JDBC驅動程序(Mysql-Connector-Java-3.1.7)
  (5)ANT的安裝軟件(Ant 1.7)。
  (6)Tomcat的安裝軟件(Tomcat 6)。
  (7)JBoss的安裝軟件(JBoss 4)。
  2.sourcecode目錄
  在該目錄下提供本書所有的源程序。
  3.ppt目錄
  在該目錄下提供由本書作者親自製作的配套語音講座。
  寫作規範
  為瞭節省文章的篇幅,在本書中顯示範例的源代碼時,有時做瞭一些省略。對於Java類,省略顯示package語句和import語句。除瞭netstore應用外,本書其他範例創建的Java類都位於mypack包下。對於持久化類,還省略顯示瞭屬性的getXXX()和setXXX()方法。對於對象-關係映射文件,省略顯示開頭的和元素。但在配套光盤中可獲得完整的源代碼。
  在本書提供的SQL語句中,錶名和字段名都采用大寫形式,而SQL關鍵字,如select、from、insert、update和delete等,都采用小寫形式。
  在本書中,有時把運用瞭Hibernate技術的Java應用簡稱為Hibernate應用。此外,對象和實例是相同的概念;覆蓋方法、重新定義方法,以及重新實現方法是相同的概念;繼承和擴展是相同的概念;錶的記錄和錶的數據行是相同的概念;錶的字段和錶的數據列是相同的概念;查詢與檢索是相同的概念;持久化類和POJO都是指其實例需要被持久化的基於JavaBean形式的實體域對象;對象-關係映射文件和映射文件是相同的概念;本書中的應用服務器主要指J2EE服務器。
  本書在編寫過程中得到瞭Hibernate軟件組織和SUN公司在技術上的大力支持,飛思科技産品研發中心負責監製工作,此外本書第1版的讀者及JavaThinker.org網站的網友為本書的編寫提供瞭有益的幫助,在此錶示衷心的感謝!盡管我們盡瞭最大努力,但本書難免會有不妥之處,歡迎各界專傢和讀者朋友批評指正。以下網址是作者為本書提供的技術支持網址,讀者可通過它下載與本書相關的資源(如源代碼、軟件安裝程序和講義等),還可以與其他讀者交流學習心得,以及對本書提齣寶貴意見:
  http://www.javathinker.org/hibernate_support.jsp
深入探索Java對象持久化藝術:掌握Hibernate的精髓 在現代軟件開發浪潮中,數據持久化作為連接業務邏輯與底層存儲的關鍵環節,其重要性不言而喻。尤其是在Java生態係統中,如何高效、優雅地管理對象與關係型數據庫之間的映射,一直是開發者們追求的目標。本書,正是為瞭滿足這一需求而精心打造,它將帶領您從入門到精通,全麵掌握Java對象持久化技術的核心——Hibernate。 一、 何為對象持久化?為何Hibernate如此重要? 在程序運行時,我們的數據以對象的形式存在於內存中。而當程序關閉或需要長期存儲數據時,這些對象就需要被“保存”到外部存儲介質中,最常見的就是關係型數據庫。這個將內存中的對象數據保存到數據庫,並在需要時重新加載的過程,就稱為對象持久化。 然而,Java對象模型與關係型數據庫模型之間存在著顯著的差異,即所謂的“對象-關係阻抗不匹配”(Object-Relational Impedance Mismatch)。例如,Java對象可以擁有復雜的繼承關係、集閤類型,而關係型數據庫則以錶、行、列的形式組織數據。直接在Java代碼中編寫SQL語句進行數據操作,不僅繁瑣、易齣錯,而且極大地削弱瞭Java麵嚮對象特性的優勢。 Hibernate,作為Java世界中最流行、最強大的對象關係映射(ORM)框架,應運而生。它充當瞭Java對象與關係型數據庫之間的一座橋梁,通過一套標準的API,讓開發者可以專注於業務邏輯的實現,而將繁瑣的數據庫交互細節交給Hibernate來處理。Hibernate能夠自動將Java對象映射到數據庫錶,自動生成SQL語句,並處理查詢結果的映射,極大地提高瞭開發效率,降低瞭代碼復雜度,並使得應用程序更具可維護性和可擴展性。 二、 本書將帶您踏上的學習之旅 本書並非簡單羅列Hibernate的API,而是以一種由淺入深、循序漸進的方式,引領您全方位地理解和掌握Hibernate的精髓。我們相信,隻有真正理解其底層原理和設計思想,纔能在實際開發中遊刃有餘。 1. 基礎篇:搭建Hibernate的堅實基石 Hibernate入門: 我們將從最基礎的概念入手,解釋Hibernate是什麼,它解決瞭什麼問題,以及其在Java持久化技術中的地位。您將瞭解Hibernate的核心組件,如SessionFactory、Session、Configuration等,並學習如何進行基本的配置,為您的項目搭建起Hibernate的運行環境。 實體與映射: 這是Hibernate的核心概念。您將深入學習如何將Java類映射到數據庫錶,如何定義實體的屬性與數據庫列的對應關係。本書將詳細講解各種映射類型,包括注解(Annotation)和XML配置文件兩種主流方式,並對比它們的優劣,幫助您根據實際項目需求做齣最佳選擇。 基本CRUD操作: 掌握數據的增、刪、改、查是數據庫操作的基礎。您將學習如何使用Hibernate提供的API來實現這些基本操作,並理解其背後的數據流轉過程。我們將通過豐富的示例,演示如何進行對象的保存(`save`/`persist`)、更新(`update`/`merge`)、刪除(`delete`)以及查找(`get`/`load`/`find`)。 2. 進階篇:精通Hibernate的強大功能 查詢技術: 強大的查詢能力是Hibernate的核心競爭力之一。您將學習Hibernate提供的多種查詢方式: HQL(Hibernate Query Language): 一種麵嚮對象的查詢語言,語法類似於SQL,但操作的是Java對象而不是數據庫錶。我們將深入講解HQL的各種特性,包括條件查詢、排序、分組、連接查詢等,以及如何使用命名查詢(Named Query)提高代碼的可讀性和可維護性。 Criteria API: 一種類型安全(Type-safe)的麵嚮對象查詢方式,允許您使用Java代碼動態地構建查詢。我們將演示如何使用Criteria API來構建復雜的查詢條件,以及如何利用Projection、Restriction等組件實現靈活的查詢。 原生SQL查詢: 在某些特定場景下,直接使用SQL可能更高效或更方便。本書將指導您如何在Hibernate中執行原生SQL查詢,並將其結果映射迴Java對象。 關聯映射: 在麵嚮對象的設計中,對象之間常常存在各種關聯關係,如一對一、一對多、多對多。Hibernate能夠智能地處理這些關聯,並將其映射到數據庫中的外鍵、中間錶等。您將學習如何定義和使用這些關聯映射,以及在查詢和操作關聯對象時的各種技巧。 緩存機製: 為瞭提高應用程序的性能,Hibernate提供瞭強大的緩存機製。本書將深入剖析Hibernate的一級緩存(Session緩存)和二級緩存(SessionFactory緩存),解釋它們的原理、配置方法以及使用場景。您將學會如何有效地利用緩存來減少數據庫訪問次數,顯著提升查詢速度。 事務管理: 數據庫事務是保證數據一緻性和完整性的基石。您將學習Hibernate如何集成Spring的事務管理,以及如何在Hibernate原生事務的支持下,實現可靠的事務控製,確保數據操作的原子性、一緻性、隔離性和持久性。 3. 實踐篇:應對復雜場景與優化 性能優化: 性能是衡量一個框架好壞的重要標準。本書將重點講解如何通過各種手段優化Hibernate的性能,包括: 懶加載(Lazy Loading)與預加載(Eager Loading): 理解加載策略對性能的影響,並學會何時使用何種策略。 批量操作(Batch Operations): 學習如何高效地批量插入、更新和刪除數據,避免N+1查詢問題。 SQL調優: 結閤Hibernate生成的SQL,學習如何分析和優化SQL語句,以獲得更好的數據庫執行效率。 緩存策略優化: 深入理解二級緩存的各種策略(如read-only, nonstrict-read-write, read-write, transactional),並根據應用場景進行配置。 異常處理: 良好的異常處理是保證應用程序穩定運行的關鍵。您將學習Hibernate常見的異常類型,以及如何有效地捕獲和處理這些異常,為用戶提供友好的錯誤提示,並保護係統免受意外中斷。 與Spring集成: Spring框架在Java EE開發中扮演著核心角色。本書將詳細演示如何將Hibernate無縫地集成到Spring框架中,利用Spring的依賴注入、事務管理等功能,構建更加健壯和高效的持久化層。 高級特性與最佳實踐: 除瞭上述內容,本書還將涵蓋一些高級特性,如: 實體生命周期管理: 理解實體對象在Hibernate中的各種狀態(transient, persistent, detached, removed)及其轉換過程。 過濾器(Filters): 學習如何使用Hibernate的過濾器實現數據的動態過濾,例如實現邏輯刪除。 繼承映射: 瞭解Hibernate如何處理Java類繼承關係在數據庫中的映射。 復雜類型映射: 如枚舉、日期、二進製數據等的映射。 數據庫方言(Dialects): 理解Hibernate如何支持不同的數據庫。 最佳實踐總結: 結閤實際項目經驗,總結Hibernate開發中的最佳實踐,幫助您避免常見的陷阱,編寫齣高質量的代碼。 三、 為何選擇本書? 內容全麵深入: 本書內容覆蓋瞭Hibernate的方方麵麵,從基礎概念到高級特性,從原理剖析到實戰技巧,力求讓讀者獲得全麵而深入的理解。 理論與實踐結閤: 每一項概念的講解都伴隨著大量的代碼示例,並通過實際的項目場景進行演示,幫助讀者將理論知識轉化為實際技能。 注重底層原理: 本書不僅教您如何使用Hibernate,更重要的是解釋其背後的工作原理,讓您知其然,更知其所以然,從而更好地駕馭它。 實用的優化技巧: 針對開發中常見的性能瓶頸,本書提供瞭切實可行的優化方案和調優方法,幫助您打造高性能的Java持久化層。 高質量的配套資源: (此處可根據實際情況調整,如果附帶光盤有特定內容,可以提及。例如:附帶的光盤中包含瞭本書所有示例的源碼、演示用的數據庫腳本以及一些常用的Hibernate工具,極大地方便瞭讀者的學習和實踐。) 四、 誰適閤閱讀本書? Java初學者: 希望學習Java持久化技術,並快速掌握Hibernate的開發者。 有一定Java基礎的開發者: 希望深入理解Hibernate的原理,提升開發效率,解決實際問題的開發者。 項目負責人或架構師: 希望瞭解Hibernate的強大功能,並在項目中閤理運用ORM技術,提升項目質量的開發者。 正在學習或使用Hibernate的開發者: 遇到實際問題,需要深入理解Hibernate解決方案的開發者。 掌握Hibernate,意味著您將在Java開發領域如虎添翼。本書將是您通往Hibernate精通之路最可靠的夥伴。讓我們一同開啓這段精彩的Java對象持久化探索之旅吧!

用戶評價

評分

我是一個工作瞭幾年,但之前一直沒怎麼深入接觸過Hibernate的Java開發者。在一次項目重構中,我們團隊決定全麵擁抱Hibernate,我這纔緊急著手學習。這本書《JAVA開發專傢·精通Hibernate:Java對象持久化技術詳解(第2版)》是我選擇的學習資料。它的優點實在是太多瞭,難以一一列舉。首先,內容的組織結構非常閤理,從基礎到進階,層層遞進,不會讓人感到突兀。我尤其欣賞書中對Hibernate各種查詢方式的詳細闡述,無論是HQL、Criteria API還是原生的SQL,都給齣瞭清晰的語法和豐富的示例,能夠應對各種復雜的查詢場景。其次,這本書非常注重實踐,幾乎每個知識點都有配套的代碼演示,這對於我這樣動手能力強的開發者來說,簡直是福音。我可以跟著書中的例子一步步敲代碼,加深理解。而且,附帶的光盤也提供瞭很多有價值的源代碼和配置腳本,這大大節省瞭我從零開始搭建開發環境的時間。總而言之,這本書是我目前為止接觸過的關於Hibernate最全麵、最實用的技術書籍之一。

評分

這本《JAVA開發專傢·精通Hibernate:Java對象持久化技術詳解(第2版)》絕對是Hibernate學習路上的一盞明燈,我之前也斷斷續續看過一些Hibernate的資料,但總感覺抓不住重點,理解得不夠透徹。這本書的齣現,徹底改變瞭我的看法。作者在講解Hibernate的各個核心概念時,都力求做到深入淺齣,從基礎的實體映射、注解配置,到復雜的關聯映射、緩存機製,再到性能優化和事務管理,幾乎涵蓋瞭Hibernate開發中的所有重要方麵。最讓我印象深刻的是,書中不僅僅是羅列API和概念,而是通過大量的實際項目案例和代碼示例,將理論知識與實踐緊密結閤。當我遇到一些棘手的性能問題時,翻閱這本書的相關章節,總能找到清晰的解決思路和行之有效的優化方案。而且,第二版相較於第一版,在很多細節上都進行瞭更新和完善,內容更加貼閤當前Java開發的主流實踐。這本書的價值,遠不止於一本技術手冊,更像是一位經驗豐富的導師,引導我一步步走嚮Hibernate的精通之路。

評分

說實話,當初拿到這本《JAVA開發專傢·精通Hibernate:Java對象持久化技術詳解(第2版)》的時候,我還有點顧慮,畢竟Hibernate這東西聽起來就挺“硬核”的,怕自己駕馭不瞭。但讀瞭大概三分之一後,我的擔憂完全打消瞭。作者的語言風格非常平易近人,即使是初學者也能很快理解。他不會一開始就拋齣大量晦澀的術語,而是循序漸進,從最基本的映射關係講起,比如對象和錶的對應、字段和列的映射,然後逐步深入到多對一、一對多、多對多的復雜關係。我特彆喜歡書中關於“注解”和“XML配置”兩種方式的對比講解,以及各自的優缺點分析,這讓我對Hibernate的配置有瞭更全麵的認識。而且,這本書並非僅僅停留在API的介紹,它還會深入剖析Hibernate的內部工作原理,比如Session的生命周期、事務的傳播機製等等,這些知識點對於寫齣高質量、高性能的代碼至關重要。讀完這本書,我感覺自己對Java對象持久化的理解上升瞭一個全新的颱階,解決瞭很多以前工作中遇到的瓶頸。

評分

對於任何一個想要在Java持久化領域有所建樹的開發者來說,《JAVA開發專傢·精通Hibernate:Java對象持久化技術詳解(第2版)》都是一本不可或缺的寶典。這本書的編寫質量極高,語言嚴謹又不失生動,使得那些看似枯燥的技術概念變得引人入勝。書中對Hibernate核心API的講解細緻入微,每一個類、每一個方法的功能和用法都解釋得清清楚楚。我特彆贊賞作者在講解一些高級主題時,比如緩存策略、性能調優、延遲加載等,都進行瞭深入的剖析,並給齣瞭大量的實踐建議。這讓我能夠更好地理解Hibernate的底層機製,從而寫齣更高效、更穩定的持久化層代碼。此外,第二版在內容上充分考慮瞭Hibernate最新的發展趨勢和技術演進,確保瞭書中的知識的時效性。對於經常需要處理大量數據和復雜業務邏輯的開發者而言,這本書提供的解決方案和優化思路,無疑是寶貴的財富,能夠幫助我們提升開發效率,降低維護成本。

評分

我是一個對技術細節有極緻追求的Java開發者,在尋找一本能夠真正深入理解Hibernate底層原理的書籍時,我最終選擇瞭《JAVA開發專傢·精通Hibernate:Java對象持久化技術詳解(第2版)》。這本書並沒有停留在錶麵 API 的介紹,而是花費瞭大量的篇幅去剖析 Hibernate 的核心設計理念和工作機製。例如,在講解 Session 和 Entity Manager 的關係時,作者通過深入的源碼分析和原理推導,讓我徹底理解瞭它們之間的聯係與區彆。同樣,對於事務管理、連接池、緩存失效等這些容易讓人頭疼的問題,書中都提供瞭清晰的解釋和有效的解決方案。我尤其喜歡書中對性能調優部分的講解,作者從多個維度分析瞭性能瓶頸可能齣現的原因,並提供瞭針對性的優化策略,這對於我們日常開發中遇到的性能問題非常有指導意義。總的來說,這本書不僅僅是一本技術指南,更是一本能夠幫助開發者建立起對Java對象持久化技術的係統性、全局性認識的書籍,強烈推薦給那些希望精通Hibernate技術的同行。

評分

太簡單瞭 不錯,方便,很好。不錯,方便,很好。不錯,方便,很好。不錯,方便,很好。

評分

很不錯的技術書籍,非常適閤java開發程序員

評分

不錯 特意看瞭一段來評價 書的紙不錯

評分

物流很好,贊?

評分

很好看,值得再次購買!

評分

寫的非常詳細。。。。。。。。。。

評分

不錯,很詳細,全麵。

評分

還未細看,包裝不錯。贊!

評分

書很棒,滿200減100活動買的,很劃算。

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有