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
          主站蜘蛛池模板: 灌阳县| 凤翔县| 凯里市| 洛隆县| 龙海市| 金山区| 米泉市| 惠安县| 乐陵市| 西林县| 册亨县| 兴仁县| 攀枝花市| 黔东| 民勤县| 宾川县| 中卫市| 元谋县| 兴山县| 兴安盟| 清苑县| 汉阴县| 鹤庆县| 旌德县| 会东县| 鹤岗市| 新兴县| 金平| 甘南县| 百色市| 淅川县| 丘北县| 旅游| 舒兰市| 内乡县| 广元市| 阳高县| 宁化县| 平阳县| 茌平县| 阿拉善右旗|