目錄


前言
序言
誌謝
關於這本書
關於 Hibernate3 與EJB3
作者在線上
關於書名和封面

了解物件/關聯式永續性
何謂永續?
關聯式資料庫
了解 SQL
在 Java 中使用 SQL
在物件導向程式中的永續化
範例不協調
顆粒化問題
子型別的問題
身份的問題
與聯合相關的問題
有關物件圖走訪的問題
不協調的代價
永續層與其它
分層架構
使用 SQL/JDBC 手動打造永續層
使用序列化
考慮 EJB entity beans
>物件導向資料庫系統
其他的選項
物件/關聯式對應
什麼是 ORM?
一般 ORM 的問題
為何使用 ORM?
結論
介紹與整合 Hibernate
"Hello World" 與 Hibernate
了解架構
核心界面
Callback 界面
型態
延伸界面
基本的組態
創建一個 SessionFactory
在非被管理下的組態
被管理環境下的組態
進階組態設定
使用 XML 為底的組態
與 JNDI 結合的 SessionFactory
日誌
Java 管理延伸 (JMX)
結論
對應永續類別
CaveatEmptor 應用程式
分析商業領域
CaveatEmptor 領域模型
實作領域模型
對付洩漏的考量
透明和自動的永續
撰寫 POJO
實作 POJO 的聯合
將邏輯加入存取函數
定義對應的後設資料
XML 中的後設資料
基本的屬性和類別的對應
屬性導向程式設計
在執行時期操作後設資料
了解物件的身份性
身份性與相同性
資料庫等身性與 Hibernate
選擇主鍵值
微粒物件模型
個體與值的型態
使用元件
對應類別的繼承
一個表格對應到一個具體的類別
一個表格對應到一個類別階層
一個表格對應到一個子類別
選擇一個策略
介紹聯合
被管理的關聯?
多重性
可能是最簡單的聯合
讓聯合能雙向
一個父/子關係
總結
操作永續物件
永續生命周期
暫時物件
永續物件
分離的物件
物件辨識元的範圍
超出辨識元的範圍
實作 equals() 與 hashCode()
永續管理員
使物件永續
更新分離實例的永續狀態
取得一個永續物件
更新一個永續物件
使一個永續物件暫時化
使分離的物件暫時化
在 Hibernate 中使用過渡永續
依照可觸及性來永續化
串聯永續與 Hibernate
管理拍賣種類
分辨暫時和分離的實例
取出物件
由辨識元取得物件
介紹 HQL
依照標準來查詢
用範例來查詢
取出的策略
在對應中選擇一個取出策略
調校物件的取出
總結
交易,並進與快取
了解資料庫的交易
JDBC 和 JTA 交易
Hibernate Transaction API
沖洗 Session
了解隔離的程度
選擇一個隔離的等級
設定隔離的等級
使用悲觀鎖定
操作應用程式交易
使用被管理的版本
Session 的粒狀
其它實作樂觀鎖定的方法
快取理論與實務
快取策略與範圍
Hibernate 快取架構
快取的實務
結論
進階對應概念
了解 Hibernate 的型態系統
內建對應型態
使用對應型態
對應值型態的 collection
Sets, bags, lists 和 maps
對應個體聯合
一對一聯合
多對多聯合
對應多型聯合
多型多對一聯合
多型 collection
多型聯合與每個具體類別一個表格
結論
有效率地取得物件
有效率地取得物件
執行查詢
查詢介面
查詢參數
使用命名查詢
物件的基本查詢
最簡單的查詢
使用別名
多型查詢
限定
比較運算子
字串比對
邏輯運算子
查詢結果的排序
物件關係的結合
Hibernate 結合選項
取得關連
在結合中使用別名
使用隱含結合
Theta-style 結合
比對識別子
撰寫查詢報表
投影
使用聚集
群組
利用 having 限制群組
強化報表查詢的效能
進階查詢技術
動態查詢
Collection 過濾器
子查詢
原生 SQL 查詢
最佳化物件取得
解決 n+1 選取問題
使用 iterate() 查詢2
快取查詢
結論
撰寫 Hibernate 應用程式
設計層狀應用程式
在 servlet 引擎中使用 Hibernate
在 EJB 的容器中使用 Hibernate
實作應用程式的交易
許可一個新的拍賣
從困難的方法開始
使用分離的永續物件
使用一個長 session
選擇一個適當的應用程式交易
處理特別的資料
既有綱要與復合鍵值
監聽日誌
摘要
使用工具集
開發程序
由上而下
由下而上
從中而分(後設資料導向)
於中交會
回合循環
自動產生綱要
準備對應的後設資料
建立綱要
更新綱要
產生POJO程式碼
增加後設屬性
產生搜尋者
組態設定 hbm2java
執行> hbm2java
既存的資料庫綱要以及 Middlegen
開始使用 Middlegen
限制表格和關聯
客製化後設資料產生
產生 hbm2java 和 XDoclet 的後設資料
XDoclet
設定屬性資料型態
對應實體關聯
執行 XDoclet 368
結論

appendix a: SQL 基礎
appendix b: ORM 實作策略
appendix c: 回到真實的世界
參考文獻