隨筆-9  評論-168  文章-266  trackbacks-0
          (一)  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 紫蝶∏飛揚↗ 閱讀(1550) 評論(3)  編輯  收藏 所屬分類: 隨想Hibernate

          評論:
          # re: hibernate核心API 2008-01-02 13:24 | WPP
          分析的不錯啊!  回復  更多評論
            
          # re: hibernate核心API 2008-02-20 10:22 | d
          ffffffffff  回復  更多評論
            
          # re: hibernate核心API及其查詢分析 2008-11-06 11:45 | hibernate核心API及其查詢分析
          恩,不錯!收藏咯、、、  回復  更多評論
            
          主站蜘蛛池模板: 临西县| 天门市| 大余县| 莎车县| 庆安县| 屏边| 江陵县| 漠河县| 平乐县| 久治县| 田林县| 自贡市| 屯门区| 抚远县| 修水县| 闵行区| 抚顺县| 阿巴嘎旗| 松溪县| 嘉兴市| SHOW| 独山县| 鹤壁市| 扎鲁特旗| 封丘县| 通辽市| 连南| 防城港市| 鹤壁市| 民和| 大邑县| 天台县| 监利县| 格尔木市| 云和县| 九龙坡区| 勃利县| 新沂市| 平潭县| 株洲市| 威宁|