內容簡介
本書深入淺出地介紹了輕量級開源框架Hibernate3的功能,敘述清晰,簡潔明了。主要內容包括Hibernate的基本體系結構、如何使用Java5註解和基於XML的映射檔案來表示映射信息,並討論了HibernateSession對象和HQL的使用。本書結合大量實際代碼,力圖使讀者能夠更好地學習並掌握Hibernate的使用。本書適合Java開發人員閱讀。
編輯推薦
本書介紹了輕量級開源框架Hibernate3的功能,主要內容包括Hibernate的基本體系結構、如何使用Java5註解和基於XML的映射檔案來表示映射信息,並討論了HibernateSession對象和HQL的使用。本書適合Java開發人員閱讀。
目錄
第1章Hibernate 3簡介…………………
1.1 POJ0………………………………………………
1.2 Hibernate和對象一關係映射的起源…··
1.2.1 EJB作為持久化解決方案……·
1.2.2 Hibernate作為持久化解決方案
1.2.3瘦解決方案……………………
l-3 Hibernate Hello World示例……………
1.4映射……………………………………
1.5資料庫的生成…………………………
1.6 Hibernate 3與EJB 3.0的關係………
1.7小結………………………………………………
第2章 集成和配置H.bernate…………
2.1集成和配置Hibernate所需的步驟……
2.2 了解Java應用程式中的什麼地方
、 適合使用Hibernate……………………
2.3 部署Hibemate…………………………………
2.3.1運行Hibernate 3所需的庫……
2.3.2註解和EJB 3…………………
2.3.3 JMX弄口Hibernate……
2.4 Hibernate配置…………………………
, 2.4.1 Hibernate屬性…………………
2.4.2 XML配置………………………
2.4.3映射文檔………………………
2.4.4命名策略………………………
2.4.5使用容器管理的數據源………
2.5會話工廠………………-………………
2.6 SQL方言………………………………………
2.7小結……………·…………………………………
第3章構建簡單的應用程式……………
3.1 安裝工具………………………………
3.1.1 Hibernate和Hibernate Tools。
3.1.2 HSQLDB 1.8.0…………………
3.1.3 Ant 1.6.5……………………………
3.1.4 Ant任務……………………
3.1.5啟用日誌記錄………………
3.2創建Hibernate配置檔案……………
3.3運行Message示例…………………
3.4對多個對象進行持久化……………
3.5創建持久化類………………………
3.6創建對象映射………………………
3.7創建表………………………………
3.8會話…………………………………
3.8.1會話和相關的對象…………·
3.8.2 使用會話…………………………
3.9構建DAO……………………………
3.10示例客戶機………………………
3.1 1 小結…………………………………………
第4章持久化生命周期……………
4.1生命周期簡介………………………
4.2實體、類和名稱……………………
4.3標識符………………………………
4.4實體和關聯…………………………
4.5保存實體……………………………
4.6對象相等性和同一性………………
4.7載入實體……………………………
4.8刷新實體……………………………
4.9更新實體……………………………
4.10刪除實體…………………………
4.1 1級聯操作…………………………
4.13查詢對象………………·…………·
4.14小結……………………………………·
第5章映射概述……………………………
5.1 映射為什麼無法自動化…………………
5.2主鍵…………………………………………………
5.3延遲載入…………………………………
5.4關聯………………………………………
5.4.1一對一關聯………………………
5.4.2一對多和多對一關聯…………
5.4.3 多對多關聯………………………
5.4.4套用映射來建立關聯…………
5.5映射的類型……………………………
5.6在映射中可以表示的其他信息………
5.6.1指定資料庫列類型和大小……
5.6.2將繼承關係映射到資料庫……
5.6.3主鍵……………·………………………
5.6.4使用基於SQL公式的屬性……
5.6.5必需約束和唯一約束…………
5.6.6操作的級聯……………………
5.7小結……………………………………
第6章用註解進行映射…………………
6.1 Java 5特性………………………………
6.2用註解創建Hibernate映射……………
6.2.1註解的缺點……………………
6.2.2註解的優點……………………
6.2.3選用哪種方法…………………
6.2.4在應用程式中使用註解………
6.2.5 EJB 3持久化註解………………
6.2.6用SEntity標出實體bean……
6.2.7用[aid和@GeneratedVal ue標出
主鍵………………………………………
6.2.8用@SequenceGenerator生成
主鍵值·……………·…·…………
6.2.9用[aTabl eGenerator生成主鍵值…
6.2.10用@Id、@IdClass和@Embeddedld
組合主鍵………·………………
6.2.11 用[aTabl e和@SecondaryTabl e
進行資料庫表映射……………
6.2.12用@Basic對基本類型進行
持久化………·…·……………
6.2.13用針ransient避免持久化………
6.2.14用@ColUMN映射屬性和欄位……
6.2.15對實體關係進行建模…………·
6.2.16繼承………………………………………
6.2.17其他EJB 3持久化註解………
6.3配置帶註解的類…………………………
6.4 Hibernate 3特有的持久化註解…………
6.4.1@Entity……………………………………
6.4.2用@Sort對集合進行排序………·
6.4.3用@IndexColumn指定集合次序…·
6.4.4通過@Table和@Index套用索引…
6.4.5用@Where限制集合………………
6.4.6用[aGeneri cGenerator指定替換的
鍵生成策略……………………
6.5結合使用Ant和基於註解的映射……
6.6代碼清單………………………………
6.7小結…………………·………………………………
第7章 用HIbernate XML檔案創建
映射…………………………………
7.1 Hibernate類型…………………………·
7.1.1 實體………………………………………·
7.1.2組件………·………………………………
7.1.3值…·………………………………………·
7.2分析映射檔案…………………………··
7.2.1<hibernate—mappmg>元素………
7.2.2<cl ass>元素……………………·
7.2.3<id〉元素…………………………………
7.2.4<property>元素…………………
7.2.5<component>元素…………………
7.2.6<one—to—one>元素………………·
7.2.7<many—t0一one>元素…………………
7.2.8集合元素………………………
7.3對簡單類進行映射……………………
7.4對組合進行映射………………………
7.5對其他關聯進行映射…………………
7.6對集合進行映射………………………
7.7對繼承關係進行映射…………………
7.7.1每個具體類一個表……………
7.7.2每個子類一個表………………·
7.7.3每個類層次結構一個表…·
7.8其他映射…………………………
7.8.1 any標記…………………………
7.8.2 array標記………………………
7.8.3<dynamlc—component>元素…
7.9小結…………………………………………
第8章使用會話……………………一
8.1會話………………………………
8.2事務和鎖…………………………
8.2.1事務………………………
8.2.2鎖………………·…………………
8.2.3死鎖………………………………
8.3快取………………………………
8.4執行緒………………………………
8.5 小結………………………………………-
第9章搜尋和查詢…………………·
9.1 HQL………………………………
9.2語法基礎…………………………
9.2.1 UPDATE……………………………
9.2.2 DELETE
9.2.3 INSERT……………………
9.2.4 SELECT……………………………
9.3第一個HQL示例………………·
9.4在曰志中記錄底層SQL…………
9.5 from子句和別名…………………
9.6 sel ect子句和投影………………
9.7用HQL進行限制………………·
9.8使用命名參數……………………
9.9對結果集進行分頁………………
9.10獲取唯一的結果………………
9.1 1用order by子句對結果排序…_·
9.12關聯……………………………_
9.13用HQL進行批量更新…………
9.14 HQL和SQL命名查詢………..
9.15使用原生SQL…………………
9.16小結……………………………_
第10章使用條件的高級查詢……
10.1 Criteria API…
10.1.1用條件進行限制……………
10.1.2對結果集進行分頁…………
10.13獲取唯一的結果……………
10.1.4對查詢的結果排序…………
10.1.5關聯…………………………………
10.1.6不重複的結果………………
10.1.7投影和統計………………
10.1.8QBE…………
10.2小結………·…………………………………
第11章對搜尋結果進行過濾………
11.1 何時應該使用過濾器………………·
1 1.2定義過濾器…………………………
113在應用程式中使用過濾器…………·
1 1.4基本的過濾示例……………………
11.5 小結…………………………………
附錄A高級特性…………………………·
.A.1 EJB 3和EmityManager……………
A.2管理版本化和樂觀鎖………………
A.3 XML關係持久化……………………
A.3.1在映射中添加節點信息……·
A.3.2導出XML實體……………
A.3.3導入XML實體……………
A.3.4在使用XML實體時的其他
考慮因素……………………
A.4映射…………………………………
A.5 Hibemate的限制……………………·
A.6手工編寫的SQL……………………
A.6.1使用直接映射………………
A.6.2使用視圖……………………
A.6.3在映射中插入SQL…………
A.7調用存儲過程………………………
A.8事件…………………………………
A.9攔截器………………………………
A.IO覆蓋默認的構造器…………………
A.1 l 小結………………………………··
附錄B Hibernate Too!s…………………
B.1 Eclipse外掛程式…………………………
B.1.1安裝外掛程式……………………
B.1.2項目配置樣板…………….
B.1.3使用Hibemate Console……
B.2 Ant任務…………………………..
B.2.1 Ant任務的工作方式……
B.2.2反向工程…………………………
B.2.3模板……………………….
B.2.4配置類路徑………………
B.3小結………………………………
附錄C H.bernate和SDrlng…………
C.1 Spring庫…………………………
C.2從Spring應用程式配置Hibernate-
C.3在Spring bean中使用Hibernate
C.4聲明式事務管理……………
C.5管理會話…………………
C.6配置檔案示例……………
C.7小結…………·……………………
附錄D從Hibernate 2升級…
D.1包和DTD的變化…………
D.2新特性和對老特性的支持-·
D.2.1 改變和廢棄的特性
D.2.2增加的特性………·
D.3工具和庫的變化…………
D.4 Java 5帶來的變化…………
D.5小結………………………………
索引………………………………