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.   回復  更多評論   


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


          網站導航:
           
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 灌南县| 嘉定区| 中山市| 临城县| 张家界市| 西昌市| 浠水县| 车致| 福海县| 神池县| 施甸县| 东城区| 宜兰县| 沙雅县| 永清县| 南木林县| 江安县| 仙桃市| 鄂伦春自治旗| 久治县| 木里| 社旗县| 饶河县| 秦皇岛市| 曲水县| 永修县| 曲麻莱县| 郓城县| 榆中县| 辽源市| 若尔盖县| 中阳县| 沂南县| 察雅县| 房产| 望都县| 九台市| 宜兴市| 大安市| 二连浩特市| 桂林市|