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 閱讀(1268) 評論(0)  編輯  收藏 所屬分類: hibernateOther
          主站蜘蛛池模板: 马公市| 上饶县| 绥化市| 都江堰市| 哈尔滨市| 大方县| 德惠市| 渝北区| 镇江市| 巴东县| 碌曲县| 瑞昌市| 江西省| 通许县| 德化县| 江油市| 凤山县| 潢川县| 江西省| 双辽市| 会宁县| 油尖旺区| 石景山区| 绵竹市| 唐海县| 普安县| 满洲里市| 绥江县| 巴彦县| 卢龙县| 济南市| 嘉义县| 七台河市| 蒙自县| 西盟| 通州市| 东至县| 兴宁市| 上思县| 汕头市| 桂阳县|