概念:
Hibernate映射主要是通過對象關系映射文件實現,將對數據庫的操作直接轉換為對實體對象的操作 ,實現了真正的面向對象編程。
目的:
使用映射的目的除了實現面向對象操作同時還提高了效率。
其實建立實體對象間的關聯關系就相當於在多個表間建立約束(只是從表轉換到了對象上)。
分類:
1.基本映射
正確理解各個配置選項的含義是掌握映射文件的關鍵。
映射文件可以對面向對象中的關聯關系、繼承關系和組合關系等各種關系進行配置,下面我們來看一下基本的映射標簽:
2.關聯映射
對於關聯映射最主要的就是先弄清楚兩者之間的關系(幾對幾),然後再確定由誰來維護關系(一般是多的一端維護關系)。
通過兩者間的關系可以分為以下幾類(具體用法先不在這裡進行闡述了):
多對一關聯映射(多的一端維護關系)
一對一關聯映射
一對一主鍵關聯映射
一對一唯一外鍵關聯映射
一對多關聯映射(多的一端維護關系)
多對多關聯映射(需要建立中間表)
3.繼承映射
每棵類繼承樹一張表:一棵類樹(多個類,有一個根類)只有一張表。
每個類一張表:有多少個類就有多少個表。
每個具體類一張表:有多少個葉子類就有多少個表。
4.復合主鍵映射
通常做法是將主鍵相關字段放到一個單獨的類中,這個類是有要求的:
1.必須實現序列號Serializable接口
2.覆蓋equals和hashcode方法
5.集合映射:
Set、List、Array、Map、Bag集合的映射分別使用<set>標簽,<list>標簽,<array>標簽,<map>標簽,<bag>標簽表示。
6.組件映射:
Compontent是一個值類,從屬於實體類,它與實體類的主要差別在於,它沒有oid;
采用Compontent的好處:實現對象模型的細粒度劃分,復用率高,含義明確,層次分明。