1. 程式人生 > >Hibernate基本用法:體系結構

Hibernate基本用法:體系結構

ORM概述:

ORM:Object/Relation Mapping,物件/關係資料庫對映。Hibernate是ORM框架的一種

ORM是面向物件程式設計語言和關係資料庫之間的橋樑,ORM完成了面向物件的程式設計到關係資料庫的對映。

ORM工具作用示意圖:


ORM工具將以面向物件方式對持久化物件的增刪改查操作,轉化對應的SQL操作進行資料庫的操作。

ORM基本對映方式:

1.資料庫表對映類:持久化類被對映到一個數據庫表,程式使用這個持久化類來建立例項、修改屬性、刪除例項時,系統會自動轉換為對這個表進行CRUD操作。

2.資料表的行對映物件:持久化類會生成很多例項,每個例項對應資料表中的一行記錄。

3.資料表的列對映物件屬性:當程式修改某個持久化物件的指定屬性時,ORM將會轉換成對對應資料表中指定資料行、指定列的操作。

Hibernate結構:

Hibernate通過持久化物件(PO)這個媒介來對資料庫進行操作,底層資料庫對於應用程式來說是透明的。下圖為官方Hibernate簡要體系結構:
Hibernate將應用程式從原始的JDBC訪問中釋放出來,應用程式無需關心JDBC操作、底層資料庫連線、資料庫訪問實現、事務控制,而是直接以面向物件方式進行持久層的操作。 Hibernate全面解決方案體系架構: 1.SessionFactory:生成session的工程,依賴ConnectionProvider。單個數據庫對映關係經過編譯後的記憶體映象,執行緒安全的。 2.Session:應用程式與持久層之間互動操作的一個單執行緒物件。所有的持久化物件必須在Session管理下才能進行持久化操作。它底層封裝了JDBC連線,是Transaction工   廠。 3.持久化物件(PO):系統建立的POJO例項,一旦與特定的Session關聯,並對應資料表的指定記錄,該物件就處於持久化狀態。 4.瞬態物件:通過new等關鍵字建立的Java例項,沒有與特定session關聯的物件。 5.託管物件:曾經的持久化物件,一旦session關閉,則物件進入托管狀態 6.事務(Transaction):代表一次原子操作,Hibernate事務是對底層具體的JDBC,JTA以及CORBA事務的抽象。 7.連線提供者(ConnectionProvider):生成JDBC連線的工廠,通過抽象將應用程式與底層的DataSource或DriverManager隔離開。