Hibernate之緩存

          緩存:為了減少應用程序同物理存儲介質的頻繁交互。

          HIBERNATE的緩存分為一級, 二級,按存儲范圍分為: SESSION, PROCESS, CLUSTER級別, 依次的存儲方式為:關聯的對象, 關聯對象 + 散數據, 散數據, 第三中速度太慢, 幾乎不用。。。

          緩存的兩個問題:life cycle and concurrent。 一級緩存不存在并發問題, 二級緩存為third party product, it can control class level storage, that means it can decide which class you the secondary storage,?由 第三方工具來控制并發冊率, 滿足CATCH PROVIDER 接口,  他是進程范圍的, 即 sessionfactory,sessionfactory 的內置 緩存存放了映射元數據 和 推測出的SQL語句, 他與一, 二級緩存不同, 后者是數據庫內實體的影射

          posted on 2006-08-29 20:51 Sheldon Sun 閱讀(224) 評論(1)  編輯  收藏

          評論

          # re: Hibernate之緩存 2006-08-30 08:31 Sheldon Sun

          不能進行批量更新和刪除: UPDATE AGE = AGE +1 FROM PERSON WHERE AGE >20

          則其會取出所有滿足條件的PERSON的信息, 然后每條進行一次更新操作, 執行很多SELECT語句。DeleteK語句也是一樣。

          解決緩存方法一:For every query string, after executing, call session flush() to run sql, and session evict( object) to delete it from storage.

          method 2: use SQL instead batch update and delete, best choice.   回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2006年8月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 洛隆县| 祁阳县| 增城市| 沂源县| 浦北县| 延吉市| 德化县| 茂名市| 青龙| 顺昌县| 云梦县| 灌阳县| 彩票| 波密县| 镶黄旗| 阿巴嘎旗| 巴青县| 平潭县| 连江县| 北碚区| 益阳市| 辽宁省| 泰兴市| 洱源县| 襄樊市| 东乡族自治县| 安图县| 工布江达县| 阳山县| 涿州市| 蓝山县| 深水埗区| 崇义县| 仲巴县| 白水县| 体育| 襄垣县| 松阳县| 屯昌县| 旬邑县| 林芝县|