古詩詞大全網 - 古詩大全 - hibernate是什麽?

hibernate是什麽?

Hibernate是壹個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。

Hibernate的核心類和接口壹***有6個,分別為:Session、SessionFactory、

Transaction、Query、Criteria和Configuration。這6個核心類和接口在任何開發中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。

Session:

Session接口負責執行被持久化對象的CRUD操作(CRUD的任務是完成與數據庫的交流,包含了很多常見的SQL語句)。但需要註意的是Session對象是非線程安全的。同時,Hibernate的session不同於JSP應用中的HttpSession。這裏當使用session這個術語時,其實指的是Hibernate中的session,而以後會將HttpSession對象稱為用戶session。

SessionFactory:

SessionFactory接口負責初始化Hibernate。它充當數據存儲源的代理,並負責創建Session對象。這裏用到了工廠模式。需要註意的是SessionFactory並不是輕量級的,因為壹般情況下,壹個項目通常只需要壹個SessionFactory就夠,當需要操作多個數據庫時,可以為每個數據庫指定壹個SessionFactory。

Transaction:

Transaction 接口是壹個可選的API,可以選擇不使用這個接口,取而代之的是Hibernate 的設計者自己寫的底層事務處理代碼。 Transaction 接口是對實際事務實現的壹個抽象,這些實現包括JDBC的事務、JTA 中的UserTransaction、甚至可以是CORBA 事務。之所以這樣設計是能讓開發者能夠使用壹個統壹事務的操作界面,使得自己的項目可以在不同的環境和容器之間方便地移植。

Query:

Query接口讓使用者方便地對數據庫及持久對象進行查詢,它可以有兩種表達方式:HQL語言或本地數據庫的SQL語句。Query經常被用來綁定查詢參數、限制查詢記錄數量,並最終執行查詢操作。

Criteria:

Criteria接口與Query接口非常類似,允許創建並執行面向對象的標準化查詢。值得註意的是Criteria接口也是輕量級的,它不能在Session之外使用。

Configuration:

Configuration 類的作用是對Hibernate 進行配置,以及對它進行啟動。在Hibernate 的啟動過程中,Configuration 類的實例首先定位映射文檔的位置,讀取這些配置,然後創建壹個SessionFactory對象。雖然Configuration 類在整個Hibernate 項目中只扮演著壹個很小的角色,但它是啟動hibernate 時所遇到的第壹個對象。