(一) org.hibernate.cfg.Configuration類
讀取配置文件并創建唯一的SessionFactory對象.(一般,程序初始化hibernate時創建.)
Configuration config=new Configuration().config(); //自動查找CLASS指定路徑下的hibernate.cfg.xml文件.
(二) org.hibernate.SessionFactory接口
主要作用是創建Session對象.(N個數據庫只有N個SessionFactory對象并通過N個Configuration實例根據不同的配置文件創建.因此對象是不可改變的,所以為接口.)
SessionFactory sessionFactory=config.buildSessionFactory();
(三) org.hibernate.Session接口
持久化操作的核心API,java程序與hibernate進行交互時所使用的主要接口.他有生命周期,以事務開始和結束為邊界.
主要功能是讀取,創建和刪除映射的實體對象的實例.這一系列的操作會轉化為對數據庫表中數據的增加,修改,查詢和刪除操作.
Session session =sessionFactory.openSession();
(實體對象:與數據庫中表進行映射的類.)
操作實體方法:所有方法都是在事務提交結束時才真正執行相應操作.
void save(Object object) :用于瞬態對象實例的轉持久化操作,相當于INSERT.
void update(Object object):必須設置標識符(object.setId(....)),根據標識符更新數據.相當于UPDATE.
void delete(Object object) :相當于DELETE.
(1)創建查詢對象:調用方法獲得持久對象.(結果集,數據庫中的數據.)
Query createQuery(String queryString) //用的最多.可用HQL語句直接更新,刪除數據.
Criteria createCriteria(Class persistentClass)
SQLQuery createSQLQuery(String queryString)
(2)創建事務
Transaction beginTransaction()
(四) org.hibernate.Transaction接口
用于事務管理.
void commit():提交事務.
(五) org.hibernate.Query接口
setXxx:設置HQL語句中的輸入參數.
Query setMaxResults (int maxResults) :結果集的最大記錄
總數.
****************以下兩屬性,常用于分頁處理*****************
Query setFirstResult(int firstResult) :從結果集的
第幾條記錄
開始.
Query setFetchSize(int fetchSize) :從結果集中
取(fetch)多少條記當出來.
-------------------------------------------------------------------------------------------------------
List list():返回查詢結果集為List類型.(
讀取全部數據映射為內存的實體對象(即內存中的數據庫).資源消耗大, 但可以
按索引位置隨機查找數據.)
Iterator iterate():返回查詢結果集為Iterator類型.(只能
按照從前向后的順序查找數據.但節省資源,
只對查找的數據映射為實體對象.)
Object uniqueResult():只返回查詢結果集中,滿足第一個條件的數據.
ScrollableResults scroll():返回查詢結果集為Iterator類型.
posted on 2007-11-21 16:02
紫蝶∏飛揚↗ 閱讀(1542)
評論(3) 編輯 收藏 所屬分類:
隨想 、
Hibernate