1. 程式人生 > >Hibernate的常用API詳解

Hibernate的常用API詳解

Hibernate的常用API詳解

一、Configuration配置物件

Configuration:載入配置檔案

1.1 呼叫configure()方法,載入src下的hibernate.cfg.xml檔案

Configuration conf = new Configuration().configure();

1.2 如果配置檔案不符合預設的載入規則,我們可以用

new Configuration().configure(file);  //通過file載入
new Configuration().configure(path);  //通過路徑載入

1.3 通過Configuration物件載入對映檔案(不推薦,一般都將*hbm.xml對映檔案配置到hibernate.cfg.xml中)

conf.addClass(User.class);
規範:1、orm對映檔名稱應與實體的簡單類名一致;
     2、orm對映檔案需要與實體的類在同一包下。

二、SessionFactory工廠

SessionFactory:用於管理所有的session

根據Configuration配置資訊建立SessionFactory

SessionFactory sf = conf.buildSessionFactory();

SessionFactory是執行緒安全的,可以是成員變數,多個執行緒同時訪問時,不會出現執行緒併發的問題。

三、Session會話

Session:通過操作PO物件實現增刪改查

session的api:

方法 功能
save 儲存
update 更新
delete 刪除
get 通過id查詢,如果沒有,顯示 “null”
load 通過id查詢,如果沒有,拋異常
createQuery(“hql”) 獲得Query物件
createCriteria(Class) 獲得Criteria物件

session是單執行緒,執行緒不安全,不能編寫成員變數。

四、Transaction事務

開啟事務:

Transaction ts = session.beginTransaction();

獲得事務(已經開啟的事務物件):

session.getTransaction();

提交事務:

commit();

回滾事務:

rollback();

五、Query物件

Qyuery:主要用於Hibernate執行hql語句。

hql語句:hibernate提供的面向物件的查詢語句,使用物件(類)和屬性進行查詢,區分大小寫。

獲得Query物件:Query query = session.createQuery(“hql”)

方法:

list():查詢所有 List list = query.list();

uniqueResult():獲得一個結果

setFirstResult(int):分頁,開始索引數startIndex

setMaxResult(int):分頁,每頁顯示的個數pageSize