jinfeng_wang

          G-G-S,D-D-U!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks

          hibernate實現了《企業應用架構模式》第11章的許多模式,結合起來則更能理解hibernate的session的作用。只是雙方的一些術語未必能直接對應上。
          ===========
          Session接口

          Session(會話)接口是Hibernate應用使用的主要接口。會話接口的實例是輕量級的并且創建與銷毀的代價也不昂貴。這很重要因為你的應用可能始終在創建與銷毀會話,可能每一次請求都會如此。Hibernate會話并不是線程安全的因此應該被設計為每次只能在一個線程中使用。

           

          Hibernate會話是一個介于連接和事務之間的概念。你可以簡單地認為會話是對于一個單獨的工作單元已裝載對象的緩存或集合。Hibernate可以檢測到這個工作單元中對象的改變。我們有時也將會話稱為持續性管理器,因為它也是與持續性有關的操作例如存儲和取出對象的接口。注意,Hibernate會話與Web層的HttpSession沒有任何關系。當我們在本書中使用會話時,我們指的是Hibernate會話。為了區別,有時我們將HttpSession對象稱為用戶會話。

           

          SessionFactory接口

          應用從SessionFactory(會話工廠)里獲得會話實例。與會話接口相比,這個對象不夠令人興奮。

           

          會話工廠當然不是輕量級的!它打算在多個應用線程間進行共享。典型地,整個應用只有唯一的一個會話工廠——例如在應用初始化時被創建。然而,如果你的應用使用Hibernate訪問多個數據庫,你需要對每一個數據庫使用一個會話工廠。

           

          會話工廠緩存了生成的SQL語句和Hibernate在運行時使用的映射元數據。它也保存了在一個工作單元中讀入的數據并且可能在以后的工作單元中被重用(只有類和集合映射指定了這種二級緩存是想要的時才會如此)。


          posted on 2005-04-05 11:13 jinfeng_wang 閱讀(1265) 評論(0)  編輯  收藏 所屬分類: hibernateOther
          主站蜘蛛池模板: 中江县| 额济纳旗| 成武县| 孟州市| 犍为县| 分宜县| 花莲县| 合川市| 康保县| 钟祥市| 安龙县| 长垣县| 上栗县| 上蔡县| 武功县| 九龙坡区| 金平| 巴马| 兴文县| 武清区| 察隅县| 英吉沙县| 灵宝市| 五峰| 通许县| 都匀市| 察隅县| 兰坪| 嘉禾县| 云梦县| 信宜市| 淳化县| 察隅县| 萨嘎县| 水富县| 聂拉木县| 千阳县| 易门县| 弋阳县| 平南县| 孝昌县|