java.sql包提供JDBC API,可經過它編寫訪問數據庫的程序代碼.其中經常使用的接口和類包括下面內容:java
Hibernate是一個開放源代碼的對象關係映射框架,它對JDBC進行了很是輕量級的對象封裝,使得java程序員能夠爲所欲爲的使用對象編程思惟來操縱數據庫。 Hibernate能夠應用在任何使用JDBC的場合,既能夠在Java的客戶端程序使用,也能夠在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate能夠在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。
程序員
Session接口:負責執行被持久化對象的CRUD操做(CRUD的任務是完成與數據庫的交流,包含了不少常見的SQL語句。)。但須要注意的是Session對象是非線程安全的。同時,Hibernate的session不一樣於JSP應用中的HttpSession。這裏當使用session這個術語時,其實指的是Hibernate中的session,而之後會將HttpSession對象稱爲用戶session。
SessionFactory接口:負責初始化Hibernate。它充當數據存儲源的代理,並負責建立Session對象。這裏用到了工廠模式。須要注意的是SessionFactory並非輕量級的,由於通常狀況下,一個項目一般只須要一個SessionFactory就夠,當須要操做多個數據庫時,能夠爲每一個數據庫指定一個SessionFactory。
Transaction接口:是一個可選的API,能夠選擇不使用這個接口,取而代之的是Hibernate 的設計者本身寫的底層事務處理代碼。 Transaction 接口是對實際事務實現的一個抽象,這些實現包括JDBC的事務、JTA 中的UserTransaction、甚至能夠是CORBA 事務。之因此這樣設計是能讓開發者可以使用一個統一事務的操做界面,使得本身的項目能夠在不一樣的環境和容器之間方便地移值。
Query接口:讓你方便地對數據庫及持久對象進行查詢,它能夠有兩種表達方式:HQL語言或本地數據庫的SQL語句。Query常常被用來綁定查詢參數、限制查詢記錄數量,並最終執行查詢操做。
Criteria接口:與Query接口很是相似,容許建立並執行面向對象的標準化查詢。值得注意的是Query接口也是輕量級的,它不能在Session以外使用。
Configuration 接口:做用是對Hibernate 進行配置,以及對它進行啓動。在Hibernate 的啓動過程當中,Configuration 類的實例首先定位映射文檔的位置,讀取這些配置,而後建立一個SessionFactory對象。雖然Configuration 接口在整個Hibernate 項目中只扮演着一個很小的角色,但它是啓動hibernate 時所遇到的每個對象。sql
更多參考和學習在yun2win即時通信雲:www.yun2win.com數據庫