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)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 道真| 沾化县| 从江县| 南京市| 什邡市| 抚远县| 鄂温| 江门市| 永善县| 慈利县| 文昌市| 吴桥县| 建湖县| 绥德县| 永善县| 建水县| 德格县| 清河县| 南开区| 五家渠市| 察隅县| 翁源县| 潢川县| 台北市| 讷河市| 辽阳县| 房山区| 永安市| 南通市| 大冶市| 得荣县| 太白县| 大荔县| 正蓝旗| 澎湖县| 乌什县| 冀州市| 望谟县| 大同市| 北安市| 桐乡市|