Hibernate的核心接口學(xué)習(xí)

          本文摘自孫衛(wèi)琴的《精通Hibernate:Java對象持久化技術(shù)詳情》
                Hibernate有如下5個核心接口:
          • Configuration接口:該對象用于配置并且根啟動Hibernate。Hibernate應(yīng)用通過Configuration實例來指定對象-關(guān)系映射文件的位置或動態(tài)配置Hibernate的屬性,然后創(chuàng)建SessionFactory實例。
          • SessionFactory接口:一個SessionFactory實例對應(yīng)一個數(shù)據(jù)存儲源,應(yīng)用從SessionFactory中獲得Session實例。它具有如下特點:

                        1)它是線程安全的,這意味著它的同一個實例可以被應(yīng)用的各個線程共享。

                        2)它是重量級的,這意味著不能隨意創(chuàng)建或銷毀它的實例。如果應(yīng)用只訪問一個數(shù)據(jù)庫,只需創(chuàng)建一個SessionFactory實例,在應(yīng)用初始化的時候創(chuàng)建該實例。如果應(yīng)用同時訪問多個數(shù)據(jù)庫,則需要為每個數(shù)據(jù)庫創(chuàng)建一個單獨的SessionFactory實例。

                        之所以說SessionFactory是重量級的,是因為它需要一個很大的緩存,用來存放預(yù)定義的SQL語句以及映射元數(shù)據(jù)等。用戶還可以為SessionFactory配置一個緩存插件,這個緩存插件被稱為Hibernate的第二級緩存,該緩存用來存放被工作單元讀過的數(shù)據(jù),將來其它工作單元可能會重用這些數(shù)據(jù),因此這個緩存中的數(shù)據(jù)能夠被所有工作單元共享,一個工作單元通常對應(yīng)一個數(shù)據(jù)庫事務(wù)。

          • Session接口:該接口是Hibernate應(yīng)用使用最廣泛的接口。Session也被稱為持久化管理器,提供了和持久化相關(guān)的操作,如添加、更新、刪除、加載和查詢對象。Session具有一下特點:

                       1)不是線程安全的,因此在設(shè)計軟件架構(gòu)時,應(yīng)該避免多個線程共享同一個Session實例;

                       2)Session實例是輕量級的,所謂輕量級,是指它的創(chuàng)建和銷毀不需要消耗太多的資源。這意味著在程序中可以經(jīng)常創(chuàng)建和銷毀Session對象,例如為每個客戶請求分配單獨的Session實例,或者為每個工作單元分配單獨的Session實例。

                       Session有一個緩存,被稱為Hibernate的第一級緩存,它存放被當(dāng)前工作單元加載的對象。每個Session實例都有自己的緩存,這個Session實例的緩存,這個Session實例的緩存只能被當(dāng)前工作單元訪問。

          •  Transaction:該接口是Hibernate的數(shù)據(jù)庫事務(wù)接口,它對底層的事務(wù)接口做了封裝,底層事務(wù)接口包括:JDBC API、JTA(Java Transaction API)、CORBA(Common Object Requet Broker Architecture) API.

                       Hibernate應(yīng)用可通過一致的Transaction接口來聲明事務(wù)邊界,這有助于應(yīng)用在不同環(huán)境或容器中移植。

          •  Query和Criteria接口:它們是Hibernate的查詢接口,用于向數(shù)據(jù)庫查詢對象,以及控制執(zhí)行查詢的過程。Query實例封裝了一個HQL(Hibernate Query Language)查詢語句,HQL是面向?qū)ο蟮模妙惷邦惖膶傩悦?,而不是表名及表的字段名。Criteria接口完全封裝了基于字符串形式的查詢語句,比Query接口更加面向?qū)ο螅珻riteria接口更擅長于執(zhí)行動態(tài)查詢。

          posted on 2008-11-15 22:14 smallfa 閱讀(360) 評論(0)  編輯  收藏 所屬分類: hibernate/ibatis

          <2008年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導(dǎo)航

          統(tǒng)計

          公告

          smallfa
          博客園
          C++博客
          博客生活
          Blogjava
          足球博客
          微博
          Redsaga

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          Ajax

          Blogs

          DB

          java

          Open source

          ORM

          Tools/Help

          vedio Tech

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 体育| 吴江市| 台东县| 永吉县| 秭归县| 顺平县| 宜州市| 廊坊市| 贺州市| 罗城| 洞口县| 读书| 乌审旗| 蒙阴县| 西昌市| 白山市| 兴安盟| 天峻县| 隆尧县| 鹤庆县| 福贡县| 石首市| 宝应县| 漳浦县| 明水县| 铁力市| 徐州市| 阿克陶县| 靖远县| 从化市| 盖州市| 县级市| 巴中市| 星座| 突泉县| 大足县| 商洛市| 浑源县| 偃师市| 小金县| 蒙自县|