Hibernate 是「物件/關係對應」(Object/Relational Mapping)的解決方案,簡寫為ORM,簡單的說就是將 Java 中的物件與物件關係,映射至關聯式資料庫中的表格與表格之間的關係, Hibernate 提供了這個過程中自動對應轉換的方案。
2001年未 Hibernate 第一個版本發表,2003年6月8日 Hibernate 2 發表,並於年未獲得 Jolt 2004 大獎,後被 JBOSS 收納而成為其子項目之一,2005年3月 Hibernate 3 正式發表,當中有了一些重大的改變,這份文件將以之前 Hibernate 2 時撰寫的 文 件 為基礎,針對 Hibernate 3作重新整理的動作,所使用的版本為Hibernate 3.2。
2001年未 Hibernate 第一個版本發表,2003年6月8日 Hibernate 2 發表,並於年未獲得 Jolt 2004 大獎,後被 JBOSS 收納而成為其子項目之一,2005年3月 Hibernate 3 正式發表,當中有了一些重大的改變,這份文件將以之前 Hibernate 2 時撰寫的 文 件 為基礎,針對 Hibernate 3作重新整理的動作,所使用的版本為Hibernate 3.2。
-
基礎入門
- O/R 映射入門
第一個 Hibernate 程式很簡單,將一個物件映射至一個資料表。
瞭解一下配置文件、映射文件中各種元素的意義,在進入物件關係映射的學習之前,這是必備的基本功夫。
瞭解一下Session的作用,從中學習到實體物件的生命週期與資料識別。
- Validatable、Lifecycle、Interceptor
分別透過這三個介面,來進行資料驗證、於 CRUD(Create Retrieve Update Delete)作對應動作、攔截動作。
-
資料查詢
- Criteria 查詢
- HQL(Hibernate Query Language)
這是 Hibernate 官方所推薦的查詢語言,接近 SQL 的語法,並提供更多的特性與封裝。
Hibernate 提供了對 SQL 的支援,並可以自行定義持久化方式。
-
物件關聯映射(Object/Relational Mapping, ORM)
- 實體映射
來看看一些進階的實體映射議題。
Hibernate 3引入了動態模型設定,適時的使用或混用,可以增加程式設計時的彈性。
在物件導向設計中,繼承關係是很常見的,但繼承與關聯式資料庫有著先天上的差異,繼承關係至表格的設計上有幾種方式。
- 集合(collection)映射
實體物件中包括多個值類型物件(value type object)時,需要另一個集合表格(collection table)來與之對應。
來看看實體與實體之間的多對一、一對多、一對一、多對多如何與Java物件之間進行映射。
-
效能
- 快取
一級快取是在Session層次實作,二級快取可以跨越 Session 生命週期,Hibernate 透過第三方來實現二級快取,這邊也來看看 Query 的快取。
-
交易
- 交易入門
- 並行控制
對於交易的隔離層級(Isolation Level),Hibernate 透過兩種 Locking 機制來保證資料在操作過程中不會被干擾。
-
Hibernate Annotations 與 EntityManager
- Hibernate實作了JPA規格,Hibernate Annotations與Hibernate EntityManager提供了與JPA/EJB3的相容性。
-
Hibernate Tool
-
附錄