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)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 凭祥市| 莲花县| 滨州市| 北安市| 睢宁县| 红河县| 太湖县| 吉林省| 哈巴河县| 循化| 万宁市| 博客| 通榆县| 防城港市| 锦屏县| 镇沅| 乾安县| 沧州市| 德兴市| 鱼台县| 岱山县| 齐齐哈尔市| 四会市| 福建省| 河北区| 武胜县| 嵊泗县| 平塘县| 永济市| 长阳| 连州市| 乌拉特中旗| 阿尔山市| 乃东县| 手机| 普陀区| 宜章县| 上思县| 临高县| 江油市| 遂宁市|