Hibernate之緩存

          緩存:為了減少應(yīng)用程序同物理存儲(chǔ)介質(zhì)的頻繁交互。

          HIBERNATE的緩存分為一級(jí), 二級(jí),按存儲(chǔ)范圍分為: SESSION, PROCESS, CLUSTER級(jí)別, 依次的存儲(chǔ)方式為:關(guān)聯(lián)的對(duì)象, 關(guān)聯(lián)對(duì)象 + 散數(shù)據(jù), 散數(shù)據(jù), 第三中速度太慢, 幾乎不用。。。

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

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

          評(píng)論

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

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

          則其會(huì)取出所有滿足條件的PERSON的信息, 然后每條進(jìn)行一次更新操作, 執(zhí)行很多SELECT語(yǔ)句。DeleteK語(yǔ)句也是一樣。

          解決緩存方法一: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.   回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 海淀区| 涞源县| 浠水县| 远安县| 手游| 勃利县| 保亭| 德兴市| 南宁市| 沐川县| 富顺县| 谷城县| 南涧| 金堂县| 陵川县| 仁布县| 屏山县| 禄劝| 恩平市| 图片| 桂阳县| 通道| 顺昌县| 潼关县| 吉安市| 郴州市| 深水埗区| 横峰县| 龙陵县| 延长县| 乌什县| 邢台县| 徐水县| 阿荣旗| 深泽县| 专栏| 革吉县| 丹江口市| 胶南市| 丰宁| 云安县|