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)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 九龙县| 金秀| 花莲县| 定日县| 灯塔市| 沁阳市| 吴川市| 金阳县| 灌阳县| 萍乡市| 彰化县| 旬邑县| 诏安县| 白河县| 太湖县| 栾城县| 青岛市| 探索| 昌乐县| 白河县| 双鸭山市| 离岛区| 石家庄市| 明溪县| 荣昌县| 延川县| 棋牌| SHOW| 台北县| 安康市| 武威市| 庆城县| 美姑县| 合山市| 修武县| 宜阳县| 五寨县| 札达县| 五河县| 库尔勒市| 绥德县|