Hibernate的核心API

Hibernate常用的六個接口Configuration、SessionFactory、Session、Transaction、Query、Criteria。

1. Configuration

Configuration是hibernate的核心配置類,用來管理hibernate.cfg.xml和*.hbm.xml文件。讀取hibernate.cfg.xml文件,加載數據庫驅動,用戶名,密碼,連接池。

2. SessionFactory       

SessionFactory是一個重量級的類。通常一個數據庫連接只創建一個SessionFactory對象。這個類由Configuration創建。通過它可以創建Session實例。

3.Session

Session一個實例代表與數據庫的一次操作(當然一次操作可以是crud組合),由SessionFactory創建。Session是線程不同步的(不安全),因此要保證在同一線程中使用,可以用getCurrentSessiong()。

Session常用的幾個方法(通過id操作)

a.保存一個對象(記錄)—save方法

b.刪除一個對象(記錄)—delete方法

c.查詢一個對象(記錄)—get/load方法

* get方法
*  * 採用的是立即加載,執行到這行代碼的時候,就會馬上發送SQL語句去查詢。
*  * 查詢後返回是真實對象本身。
*  * 查詢一個找不到的對象的時候,返回null
*
* load方法
*  * 採用的是延遲加載(lazy懶加載),執行到這行代碼的時候,不會發送SQL語句,當真正使用這個對象的時候纔會發送SQL語句。
*  * 查詢後返回的是代理對象。javassist-3.18.1-GA.jar 利用javassist技術產生的代理。
*  * 查詢一個找不到的對象的時候,返回ObjectNotFoundException

d.修改一個對象(記錄)—update方法

e.保存或修改一個對象(記錄)—saveOrUpdate

4.Transaction

Transaction主要用於事務管理,他是hibernate數據庫事務管理接口,對底層的事務進行封裝

a.commit() 提交相關聯的session實例

b. rollback() 撤銷事務操作

c.wasCommitted() 檢查事務是否提交

5.Query

Query接口類型的對象可以對數據庫操作,它可以使用Hql,Qbc,Qbe和原生SQL(native Sql)對數據庫操作.官方推薦使用Hql語句。Query接口和Criteria接口非常相似。

6.Criteria

Criteria 完全是 面向對象的方式在進行數據查詢,看到有sql語句的痕跡

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章