Hibernate逍遙遊記

Hibernate逍遙遊記

Hibernate逍遙遊記是電子工業出版社出版的書籍,作者為孫衛琴,2010年出版。

基本信息

圖書信息

Hibernate逍遙遊記

作 者:孫衛琴編著

出 版 社: 電子工業出版社

出版時間: 2010-7-1

開 本: 16開

I S B N : 9787121109676

所屬分類: 圖書 >> 計算機/網路 >> 程式設計 >> JavaJava ScriptJ2EE

定價:¥43.80

內容簡介

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.1increment標識符生成器

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.2QBC檢索方式

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 小結

書摘插圖

第1章 訪問關係資料庫的途徑

1.1 創建關係資料庫表

悟空在他所熟悉的MySQL關係資料庫中創建了一張名為“MONKEYS”的表,表的結構如圖1.1所示。

MONKEYS表用來存放猴子的基本信息,比如名字(NAME欄位)、年齡(AGE欄位)和性別(GENDER欄位)。

MONKEYS表中的ID欄位為主鍵(Primary Key,簡稱PK)。資料庫表通過主鍵來保證每條記錄的唯一性,每條記錄的ID值都是唯一的。表的主鍵最好不具有任何業務含義,即不代表特定業務領域的某種信息。任何有業務含義的欄位都有可能隨著業務需求的變化而被改變。關係資料庫學的最重要的理論之一就是:不要給主鍵賦予任何業務含義,這樣可以提高資料庫系統的可維護性。

假如主鍵具有了業務含義,會出現什麼情況呢?以MONKEYS表為例,假定把NAME欄位作為主鍵,這是一個具有業務含義的主鍵。假定一開始用戶的業務需求為:NAME欄位為6位字元串,過了一年後,用戶改變了業務需求,規定NAME欄位為8位字元串。當業務需求改變後,就必須修改MONKEYS表中所有記錄的NAME主鍵的值,此外,對於那些參照MONKEYS表,並且把NAME欄位作為外鍵的所有其他表,也需要修改表中所有記錄的NAME外鍵的值。……

相關詞條

相關搜尋

熱門詞條

聯絡我們