Hibernate是非常流行的對象-關係映射工具。本書由淺入深地介紹運用目前最成熟的Hibernate 3.3版本進行Java對象持久化的核心技術。本書主要介紹通過Hibernate API來訪問資料庫的方法,還介紹把Java對象模型映射到關係數據模型的各種技巧、處理並發問題及實現對話的種種方案。本書將幫助讀者編寫出具有合理的軟體架構,以及好的運行性能和並發性能的實用Hibernate套用。書中內容注重理論與實踐相結合,列舉大量具有典型性和實用價值的Hibernate套用實例,並提供詳細的開發和部署步驟。
隨書配套光碟內容為本書所有範例源程式、本書涉及的軟體的最新版本的安裝程式。
本書在表述方面,引入了中國傳統文化中家喻戶曉的《西遊記》人物孫悟空,以他學習Hibernate為主線,以為花果山實現信息化為案例,帶領讀者逐步領略Hibernate技術的種種神通妙用,大大增加了書的趣味性。只要讀者具備了Java基礎知識,就能輕鬆閱讀本書,快速掌握Hibernate技術。
基本介紹
- 書名:Hibernate逍遙遊記
- 作者:孫衛琴
- ISBN:9787121109676
- 類別:程式設計 >> Java Java Script J2EE
- 定價:¥43.80
- 出版社: 電子工業出版社
- 出版時間:2010-7-1
- 開本:16開
內容簡介,作者簡介,目錄,
內容簡介
Hibernate是非常流行的對象-關係映射工具。本書由淺入深地介紹運用目前最成熟的Hibernate 3.3版本進行Java對象持久化的核心技術。本書主要介紹通過Hibernate API來訪問資料庫的方法,還介紹把Java對象模型映射到關係數據模型的各種技巧、處理並發問題及實現對話的種種方案。本書將幫助讀者編寫出具有合理的軟體架構,以及好的運行性能和並發性能的實用Hibernate套用。書中內容注重理論與實踐相結合,列舉大量具有典型性和實用價值的Hibernate套用實例,並提供詳細的開發和部署步驟。
隨書配套光碟內容為本書所有範例源程式、本書涉及的軟體的最新版本的安裝程式。
本書在表述方面,引入了中國傳統文化中家喻戶曉的《西遊記》人物孫悟空,以他學習Hibernate為主線,以為花果山實現信息化為案例,帶領讀者逐步領略Hibernate技術的種種神通妙用,大大增加了書的趣味性。只要讀者具備了Java基礎知識,就能輕鬆閱讀本書,快速掌握Hibernate技術。
作者簡介
孫衛琴 知名IT作家·Java系列暢銷書的作者。1997年畢業於上海交通大學·隨後從事基於Java的軟體開發工作,還從事Java方面的培訓和諮詢工作。2002年開始Java技術領域的創作,其作品深受讀者好評·多部作品的發行量在國內同類作品中屢居第一。 代表著作有: 《Hibernate逍遙遊記》2010 《精通Hibernate:Java對象持久化技術詳解》(第2版)2010 《Tomcat與JavaWeb開發技術詳解》(第2版)2009 《Java網路編程精解》2007 《Java面向對象編程》2006 《精通Hibernate:Java對象持久化技術詳解》2005 《精通Struts:基於MVC的Java Web設計與開發》2004 《Tomcat與Java Web開發技術詳解》2004 《Java 2認證考試指南與試題解析》2002
目錄
第1章 訪問關係資料庫的途徑
1.1 創建關係資料庫表
1.2 訪問關係資料庫的途徑
1.2.1 通過資料庫的自帶客戶程式與資料庫伺服器互動
1.2.2 通過Java程式與資料庫伺服器互動
1.3 Java程式通過JDBC API訪問資料庫
1.4 Java程式通過Hibernate API訪問資料庫
1.5 Java對象的持久化概念
1.6 小結
第2章 第一個Hibernate套用
2.1 創建Hibernate的配置檔案
2.2 創建持久化類
2.3 創建資料庫Schema
2.4 創建對象-關係映射檔案
2.5 通過Hibernate API操縱資料庫
2.5.1 Hibernate的初始化
2.5.2 訪問Hibernate的Session接口
2.6 運行monkeys套用
2.6.1 創建運行本書範例的系統環境
2.6.2 創建monkeys套用的目錄結構
2.6.3 運行monkeys套用
2.6.4 給monkeys套用加入用戶界面
2.7 小結
第3章 對象-關係映射基礎
3.1 持久化類的屬性及訪問方法
3.1.1 基本類型屬性和包裝類型屬性
3.1.2 Hibernate訪問持久化類屬性的策略
3.1.3 在持久化類的訪問方法中加入程式邏輯
3.1.4 設定派生屬性
3.1.5 控制insert和update語句
3.2 處理SQL引用標識符
3.3 使用XML格式的配置檔案
3.4 運行本章的範例程式
3.5 小結
第4章 映射對象標識符
4.1 關係資料庫按主鍵區分不同的記錄
4.1.1 把主鍵定義為自動增長標識符類型
4.1.2 從序列(Sequence)中獲取自動增長的標識符
4.2 Java語言按記憶體地址區分不同的對象
4.3 Hibernate用對象標識符(OID)來區分對象
4.4 Hibernate的內置標識符生成器的用法
4.4.1 increment標識符生成器
4.4.2 identity標識符生成器
4.4.3 sequence標識符生成器
4.4.4 hilo標識符生成器
4.4.5 native標識符生成器
4.5 映射自然主鍵
4.6 小結
第5章 映射一對多關聯關係
5.1 建立多對一的單向關聯關係
5.1.1 關於TransientObjectException異常
5.1.2 級聯保存和更新
5.2 映射一對多雙向關聯關係
5.2.1 [set]元素的inverse屬性
5.2.2 級聯刪除
5.2.3 父子關係
5.3 小結
第6章 通過Hibernate操縱對象
6.1 理解Session的快取
6.1.1 Session的快取的作用
6.1.2 髒檢查及清理快取的機制
6.2 Java對象在Hibernate持久化層的狀態
6.2.1 臨時對象的特徵
6.2.2 持久化對象的特徵
6.2.3 被刪除對象的特徵
6.2.4 游離對象的特徵
6.3 Session接口的詳細用法
6.3.1 Session的save()方法
6.3.2 Session的load()和get()方法
6.3.3 Session的update()方法
6.3.4 Session的saveOrUpdate()方法
6.3.5 Session的merge()方法
6.3.6 Session的delete()方法
6.4 級聯操縱對象圖
6.5 批量處理數據
6.5.1 通過Session來進行批量操作
6.5.2 通過StatelessSession來進行批量操作
6.5.3 通過HQL來進行批量操作
6.6 Hibernate的二級快取結構
6.7 小結
第7章 Hibernate的檢索策略和檢索方式
7.1 Hibernate的檢索策略
7.1.1 類級別的檢索策略
7.1.2 一對多和多對多關聯的檢索策略
7.1.3 多對一和一對一關聯的檢索策略
7.1.4 在應用程式中顯式指定迫切左外連線檢索策略
7.1.5 比較3種檢索策略
7.2 檢索方式
7.2.1 HQL檢索方式
7.2.2 QBC檢索方式
7.2.3 SQL檢索方式
7.3 小結
第8章 映射組成關係
8.1 建立精粒度對象模型
8.2 建立粗粒度關係數據模型
8.3 映射組成關係
8.3.1 區分值(Value)類型和實體(Entity)類型
8.3.2 在應用程式中訪問具有組成關係的持久化類
8.4 映射複合組成關係
8.5 小結
第9章 Hibernate的映射類型
9.1 Hibernate的內置映射類型
9.1.1 Java基本類型的Hibernate映射類型
9.1.2 Java時間和日期類型的Hibernate映射類型
9.1.3 Java大對象類型的Hibernate映射類型
9.1.4 JDK自帶的個別Java類的Hibernate映射類型
9.1.5 使用Hibernate內置映射類型
9.2 客戶化映射類型
9.3 用客戶化映射類型取代Hibernate組件
9.4 運行範例程式
9.5 小結
第10章 映射繼承關係
10.1 繼承關係樹的每個具體類對應一個表
10.1.1 創建映射檔案
10.1.2 操縱持久化對象
10.2 繼承關係樹的根類對應一個表
10.2.1 創建映射檔案
10.2.2 操縱持久化對象
10.3 繼承關係樹的每個類對應一個表
10.3.1 創建映射檔案
10.3.2 操縱持久化對象
10.4 選擇繼承關係的映射方式
10.5 小結
第11章 Java集合
11.1 Set(集)
11.1.1 Set的一般用法
11.1.2 HashSet類
11.1.3 TreeSet類
11.2 List(列表)
11.3 Map(映射)
11.4 小結
第12章 映射值類型集合
12.1 映射Set(集)
12.2 映射Bag(包)
12.3 映射List(列表)
12.4 映射Map
12.5 對集合排序
12.5.1 在資料庫中對集合排序
12.5.2 在記憶體中對集合排序
12.6 小結
第13章 映射實體關聯關係
13.1 映射一對一關聯
13.1.1 按照外鍵映射
13.1.2 按照主鍵映射
13.2 映射單向多對多關聯
13.3 映射雙向多對多關聯關係
13.3.1 關聯兩端使用[set]元素
13.3.2 使用組件類集合
13.3.3 把多對多關聯分解為兩個一對多關聯
13.4 小結
第14章 聲明資料庫事務
14.1 資料庫事務的概念
14.2 聲明事務邊界的方式
14.3 在mysql.exe程式中聲明事務
14.4 Java套用通過JDBC API聲明事務
14.5 Java套用通過Hibernate API聲明事務
14.5.1 處理異常
14.5.2 Session與事務的關係
14.5.3 設定事務逾時
14.6 小結
第15章 處理並發問題
15.1 多個事務並發運行時的並發問題
15.1.1 第一類丟失更新
15.1.2 髒讀
15.1.3 虛讀
15.1.4 不可重複讀
15.1.5 第二類丟失更新
15.2 資料庫系統的鎖的基本原理
15.3 資料庫的事務隔離級別
15.3.1 在mysql.exe程式中設定隔離級別
15.3.2 在應用程式中設定隔離級別
15.4 在應用程式中採用悲觀鎖
15.5 利用Hibernate的版本控制來實現樂觀鎖
15.5.1 使用[version]元素
15.5.2 使用[timestamp]元素
15.5.3 對游離對象進行版本檢查
15.6 實現樂觀鎖的其他方法
15.7 小結
第16章 管理Session和實現對話
16.1 Hibernate管理Session對象的方式
16.2 Session對象的生命周期與本地執行緒綁定
16.3 實現對話
16.3.1 使用游離對象
16.3.2 使用手工清理快取模式下的Session
16.4 Hibernate委託程式來管理Session
16.5 小結