TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
精通Hibernate:Java對象持久化技術詳解(第2版‧附光碟)(簡體書)
滿額折

精通Hibernate:Java對象持久化技術詳解(第2版‧附光碟)(簡體書)

商品資訊

人民幣定價:75 元
定價
:NT$ 450 元
優惠價
87392
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:11 點
相關商品
商品簡介
作者簡介
目次

商品簡介

本書在第一版基礎上,理論內容更新,更加注重理論與實踐的結合,有大量具有典型性和實用價值的Hibernate應用實例。全書將詳細介紹運用目前最成熟的Hibernate 3.3版本進行Java對象持久化的技術,既能掌握用Hibernate工具對這兩種模型進行映射的技術,又能獲得設計與開發Java對象模型和關係數據模型的經驗。光盤包括本書範例源程序、涉及軟件的最新版本的安裝程序,以及配套的語音講座。
本書無論對于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.3 軟件分層的優點
1.1.4 軟件分層的缺點
1.1.5 Java應用的持久化層
 1.2 軟件的模型
1.2.1 概念模型
1.2.2 關係數據模型
1.2.3 域模型
1.2.4 域對象
1.2.5 域對象之間的關係
1.2.6 域對象的持久化概念
 1.3 小結
 1.4 思考題
第2章 Java對象持久化技術概述
 2.1 直接通過JDBC API來持久化實體域對象
 2.2 ORM簡介
2.2.1 對象-關係映射的概念
2.2.2 ORM中間件的基本使用方法
2.2.3 常用的ORM中間件
 2.3 實體域對象的其他持久化模式
2.3.1 主動域對象模式
2.3.2 JDO模式
2.3.3 CMP模式
 2.4 Hibernate API簡介
2.4.1 Hibernate的核心接口
2.4.2 事件處理接口
2.4.3 Hibernate映射類型接口
2.4.4 可供擴展的接口
 2.5 小結
 2.6 思考題
第3章 第一個Hibernate應用
 3.1 創建Hibernate的配置文件
 3.2 創建持久化類
 3.3 創建數據庫Schema
 3.4 創建對象-關係映射文件
3.4.1 映射文件的文檔類型定義(DTD)
3.4.2 把Customer持久化類映射到CUSTOMERS表
 3.5 通過Hibernate API操縱數據庫
3.5.1 Hibernate的初始化
3.5.2 訪問Hibernate的Session接口
 3.6 運行helloapp應用
3.6.1 創建運行本書範例的系統環境
3.6.2 創建helloapp應用的目錄結構
3.6.3 把helloapp應用作為獨立應用程序運行
3.6.4 把helloapp應用作為Java Web應用運行
 3.7 小結
 3.8 思考題
第4章 hbm2java和hbm2ddl工具
 4.1 創建對象-關係映射文件
4.1.1 定制持久化類
4.1.2 定制數據庫表
 4.2 建立項目的目錄結構
 4.3 運行hbm2java工具
 4.4 運行hbm2ddl工具
 4.5 使用XML格式的配置文件
 4.6 小結
 4.7 思考題
第5章 對象-關係映射基礎
 5.1 持久化類的屬性及訪問方法
5.1.1 基本類型屬性和包裝類型屬性
5.1.2 Hibernate訪問持久化類屬性的策略
5.1.3 在持久化類的訪問方法中加入程序邏輯
5.1.4 設置派生屬性
5.1.5 控制insert和update語句
 5.2 處理SQL引用標識符
 5.3 創建命名策略
 5.4 設置數據庫Schema
 5.5 設置類的包名
 5.6 運行本章的範例程序
 5.7 小結
 5.8 思考題
第6章 映射對象標識符
 6.1 關係數據庫按主鍵區分不同的記錄
6.1.1 把主鍵定義為自動增長標識符類型
6.1.2 從序列(Sequence)中獲取自動增長的標識符
6.2 Java語言按內存地址區分不同的對象
6.3 Hibernate用對象標識符(OID)來區分對象
6.4 Hibernate的內置標識符生成器的用法
6.4.1 increment標識符生成器
6.4.2 identity標識符生成器
6.4.3 sequence標識符生成器
6.4.4 hilo標識符生成器
6.4.5 native標識符生成器
 6.5 映射自然主鍵
6.5.1 映射單個自然主鍵
6.5.2 映射復合自然主鍵
 6.6 小結
 6.7 思考題
第7章 映射一對多關聯關係
 7.1 建立多對一的單向關聯關係
7.1.1 元素的not-null屬性
7.1.2 級聯保存和更新
 7.2 映射一對多雙向關聯關係
7.2.1 元素的inverse屬性
7.2.2 級聯刪除
7.2.3 父子關係
 7.3 映射一對多雙向自身關聯關係
 7.4 改進持久化類
 7.5 小結
 7.6 思考題
第8章 通過Hibernate操縱對象(上)
 8.1 Java對象在JVM中的生命周期
 8.2 理解Session的緩存
8.2.1 Session的緩存的作用
8.2.2 臟檢查及清理緩存的機制
 8.3 Java對象在Hibernate持久化層的狀態
8.3.1 臨時對象的特徵
8.3.2 持久化對象的特徵
8.3.3 被刪除對象的特徵
8.3.4 游離對象的特徵
 8.4 Session接口的詳細用法
8.4.1 Session的save()和persist()方法
8.4.2 Session的load()和get()方法
8.4.3 Session的update()方法
8.4.4 Session的saveOrUpdate()方法
8.4.5 Session的merge()方法
8.4.6 Session的delete()方法
8.4.7 Session的replicate()方法
 8.5 級聯操縱對象圖
8.5.1 級聯保存臨時對象
8.5.2 更新持久化對象
8.5.3 持久化臨時對象
8.5.4 更新游離對象
8.5.5 遍歷對象圖
 8.6 小結
 8.7 思考題
第9章 通過Hibernate操縱對象(下)
 9.1 與觸發器協同工作
 9.2 利用攔截器(Interceptor)生成審計日志
 9.3 Hibernate的事件處理機制
 9.4 批量處理數據
9.4.1 通過Session來進行批量操作
9.4.2 通過StatelessSession來進行批量操作
9.4.3 通過HQL來進行批量操作
9.4.4 直接通過JDBC API來進行批量操作
 9.5 使用元數據
 9.6 通過Hibernate調用存儲過程
 9.7 小結
 9.8 思考題
第10章 映射組成關係
 10.1 建立精粒度對象模型
 10.2 建立粗粒度關係數據模型
 10.3 映射組成關係
10.3.1 區分值(Value)類型和實體(Entity)類型
10.3.2 在應用程序中訪問具有組成關係的持久化類
 10.4 映射復合組成關係
 10.5 小結
 10.6 思考題
第11章 Hibernate的映射類型
 11.1 Hibernate的內置映射類型
11.1.1 Java基本類型的Hibernate映射類型
11.1.2 Java時間和日期類型的Hibernate映射類型
11.1.3 Java大對象類型的Hibernate映射類型
11.1.4 JDK自帶的個別Java類的Hibernate映射類型
11.1.5 使用Hibernate內置映射類型
 11.2 客戶化映射類型
11.2.1 用客戶化映射類型取代Hibernate組件
11.2.2 用UserType映射枚舉類型
11.2.3 實現CompositeUserType接口
11.2.4 運行本節範例程序
 11.3 操縱Blob和Clob類型數據
 11.4 小結
 11.5 思考題
第12章 映射繼承關係
 12.1 繼承關係樹的每個具體類對應一個表
12.1.1 創建映射文件
12.1.2 操縱持久化對象
 12.2 繼承關係樹的根類對應一個表
12.2.1 創建映射文件
12.2.2 操縱持久化對象
 12.3 繼承關係樹的每個類對應一個表
12.3.1 創建映射文件
12.3.2 操縱持久化對象
 12.4 選擇繼承關係的映射方式
 12.5 映射多對一多態關聯
 12.6 小結
 12.7 思考題
第13章 Java集合類
 13.1 Set(集)
13.1.1 Set的一般用法
13.1.2 HashSet類
13.1.3 TreeSet類
13.1.4 向Set中加入持久化類的對象
 13.2 List(列表)
 13.3 Map(映射)
 13.4 小結
 13.5 思考題
第14章 映射值類型集合
 14.1 映射Set(集)
 14.2 映射Bag(包)
 14.3 映射List(列表)
 14.4 映射Map
 14.5 對集合排序
14.5.1 在數據庫中對集合排序
14.5.2 在內存中對集合排序
 14.6 映射組件類型集合
 14.7 小結
 14.8 思考題
第15章 映射實體關聯關係
 15.1 映射一對一關聯
15.1.1 按照外鍵映射
15.1.2 按照主鍵映射
 15.2 映射單向多對多關聯
 15.3 映射雙向多對多關聯關係
15.3.1 關聯兩端使用元素
15.3.2 在inverse端使用元素
15.3.3 使用組件類集合
15.3.4 把多對多關聯分解為兩個一對多關聯
 15.4 小結
 15.5 思考題
第16章 Hibernate的檢索策略
 16.1 Hibernate的檢索策略簡介
 16.2 類級別的檢索策略
16.2.1 立即檢索
16.2.2 延遲檢索
 16.3 一對多和多對多關聯的檢索策略
16.3.1 立即檢索(lazy屬性為“false”)
16.3.2 延遲檢索(lazy屬性為默認值“true”)
16.3.3 增強延遲檢索(lazy屬性為“extra”)
16.3.4 批量延遲檢索和批量立即檢索(使用batch-size屬性)
16.3.5 用帶子查詢的select語句整批量初始化orders集合(fetch屬性為“subselect”)
16.3.6 迫切左外連接檢索(fetch屬性為“join”)
 16.4 多對一和一對一關聯的檢索策略
16.4.1 迫切左外連接檢索(fetch屬性為“join”)
16.4.2 延遲檢索(lazy屬性為默認值“proxy”)
16.4.3 無代理延遲檢索(lazy屬性為“no-proxy”)
16.4.4 立即檢索(lazy屬性為“false”)
16.4.5 批量延遲檢索和批量立即檢索(使用batch-size屬性)
 16.5 控制迫切左外連接檢索的深度
 16.6 在應用程序中顯式指定迫切左外連接檢索策略
 16.7 屬性級別的檢索策略
 16.8 小結
 16.9 思考題
第17章 Hibernate的檢索方式(上)
 17.1 Hibernate的檢索方式簡介
17.1.1 HQL檢索方式
17.1.2 QBC檢索方式
17.1.3 本地SQL檢索方式
17.1.4 關於本章範例程序
17.1.5 使用別名
17.1.6 多態查詢
17.1.7 對查詢結果排序
17.1.8 分頁查詢
17.1.9 檢索單個對象(uniqueResult()方法)
17.1.10 按主鍵逐個處理查詢結果(iterate()方法)
17.1.11 可滾動的結果集
17.1.12 在HQL查詢語句中綁定參數
17.1.13 設置查詢附屬事項
17.1.14 在映射文件中定義命名查詢語句
17.1.15 在HQL查詢語句中調用函數
 17.2 設定查詢條件
17.2.1 比較運算
17.2.2 范圍運算
17.2.3 字符串模式匹配
17.2.4 邏輯運算
17.2.5 集合運算
 17.3 小結
 17.4 思考題
第18章 Hibernate的檢索方式(下)
 18.1 連接查詢
18.1.1 默認情況下關聯級別的運行時檢索策略
18.1.2 迫切左外連接
18.1.3 左外連接
18.1.4 內連接
18.1.5 迫切內連接
18.1.6 隱式內連接
18.1.7 右外連接
18.1.8 使用SQL風格的交叉連接和隱式內連接
18.1.9 關聯級別運行時的檢索策略
 18.2 投影查詢
 18.3 報表查詢
18.3.1 使用聚集函數
18.3.2 分組查詢
18.3.3 優化報表查詢的性能
 18.4 高級查詢技巧
18.4.1 動態查詢
18.4.2 集合過濾
18.4.3 子查詢
18.4.4 本地SQL查詢
18.4.5 查詢結果轉換器
 18.5 查詢性能優化
18.5.1 iterate()方法
18.5.2 查詢緩存
 18.6 小結
 18.7 思考題
第19章 Hibernate高級配置
 19.1 配置數據庫連接池
19.1.1 使用默認的數據庫連接池
19.1.2 使用配置文件指定的數據庫連接池
19.1.3 從容器中獲得數據源
19.1.4 由Java應用本身提供數據庫連接
 19.2 配置事務類型
 19.3 把SessionFactory與JNDI綁定
 19.4 配置日志
 19.5 使用XML格式的配置文件
 19.6 小結
 19.7 思考題
第20章 聲明數據庫事務
 20.1 數據庫事務的概念
 20.2 聲明事務邊界的方式
 20.3 在mysql.exe程序中聲明事務
 20.4 Java應用通過JDBC API聲明JDBC事務
 20.5 Java應用通過Hibernate API聲明JDBC事務
20.5.1 處理異常
20.5.2 Session與事務的關係
20.5.3 設定事務超時
 20.6 Java應用通過Hibernate API聲明JTA事務
 20.7 Java應用通過JTA API聲明JTA事務
 20.8 小結
 20.9 思考題
第21章 處理并發問題
 21.1 多個事務并發運行時的并發問題
21.1.1 第一類丟失更新
21.1.2 臟讀
21.1.3 虛讀
21.1.4 不可重復讀
21.1.5 第二類丟失更新
 21.2 數據庫系統的鎖的基本原理
21.2.1 鎖的多粒度性及自動鎖升級
21.2.2 鎖的類型和兼容性
21.2.3 死鎖及其防止辦法
 21.3 數據庫的事務隔離級別
21.3.1 在mysql.exe程序中設置隔離級別
21.3.2 在應用程序中設置隔離級別
 21.4 在應用程序中采用悲觀鎖
21.4.1 利用數據庫系統的獨占鎖來實現悲觀鎖
21.4.2 由應用程序實現悲觀鎖
 21.5 利用Hibernate的版本控制來實現樂觀鎖
21.5.1 使用元素
21.5.2 使用元素
21.5.3 對游離對象進行版本檢查
21.5.4 強制更新版本
 21.6 實現樂觀鎖的其他方法
 21.7 小結
 21.8 思考題
第22章 管理Hibernate的緩存
 22.1 緩存的基本原理
22.1.1 持久化層的緩存的范圍
22.1.2 持久化層的緩存的并發訪問策略
 22.2 Hibernate的二級緩存結構
 22.3 管理Hibernate的第一級緩存
 22.4 管理Hibernate的第二級緩存
22.4.1 配置進程范圍內的第二級緩存
22.4.2 配置集群范圍內的第二級緩存
22.4.3 在應用程序中管理第二級緩存
22.4.4 Session與第二級緩存的交互模式
 22.5 運行本章的範例程序
 22.6 小結
 22.7 思考題
第23章 管理Session和實現對話
 23.1 管理Session對象的生命周期
23.1.1 Session對象的生命周期與本地線程綁定
23.1.2 Session對象的生命周期與JTA事務綁定
 23.2 實現對話
23.2.1 使用游離對象
23.2.2 使用手工清理緩存模式下的Session
 23.3 小結
 23.4 思考題
第24章 Hibernate與Struts框架
 24.1 實現業務數據
 24.2 實現業務邏輯
 24.3 netstore應用的訂單業務
 24.4 小結
第25章 Hibernate與EJB組件
 25.1 創建EJB組件
25.1.1 編寫Remote接口
25.1.2 編寫Home接口
25.1.3 編寫Enterprise Java Bean類
 25.2 在業務代理類中訪問EJB組件
 25.3 發布J2EE應用
25.3.1 在JBoss上部署EJB組件
25.3.2 在JBoss上部署Web應用
25.3.3 在JBoss上部署J2EE應用
 25.4 小結
附錄A 標準SQL語言的用法
 A.1 數據完整性
A.1.1 實體完整性
A.1.2 域完整性
A.1.3 參照完整性
 A.2 DDL數據定義語言
 A.3 DML數據操縱語言
 A.4 DQL數據查詢語言
A.4.1 簡單查詢
A.4.2 連接查詢
A.4.3 子查詢
A.4.4 聯合查詢
A.4.5 報表查詢
附錄B Java語言的反射機制
 B.1 Java Reflection API簡介
 B.2 運用反射機制來持久化Java對象
附錄C 用XDoclet工具生成映射文件
 C.1 創建帶有@hibernate標記的Java源文件
 C.2 建立項目的目錄結構
 C.3 運行XDoclet工具
附錄D 發布和運行netstore應用
 D.1 運行netstore所需的軟件
 D.2 netstore應用的目錄結構
 D.3 安裝SAMPLEDB數據庫
 D.4 安裝和配置JBoss服務器
 D.5 發布netstore應用
D.5.1 在工作模式1下發布netstore應用
D.5.2 在工作模式2下發布netstore應用
 D.6 運行netstore應用
附錄E Hibernate 3升級指南
 E.1 Hibernate API 變化
E.1.1 包名
E.1.2 org.hibernate.classic包
E.1.3 Hibernate所依賴的第三方軟件包
E.1.4 異常模型
E.1.5 Session接口
E.1.6 createSQLQuery()
E.1.7 Lifecycle 和 Validatable 接口
E.1.8 Interceptor接口
E.1.9 UserType和CompositeUserType接口
E.1.10 FetchMode類
E.1.11 PersistentEnum類
E.1.12 對Blob 和Clob的支持
E.1.13 Hibernate中供擴展的API的變化
 E.2 元數據的變化
E.2.1 檢索策略
E.2.2 對象標識符的映射
E.2.3 集合映射
E.2.4 DTD
 E.3 查詢語句的變化
 E.4 把Hibernate 2應用升級到Hibernate 3應用
附錄F 思考題答案
參考文獻

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 392
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區