<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 70,comments - 408,trackbacks - 0
          Hibernate向我們提供的主要的操縱數據庫的接口,Session就是其中的一個,它提供了基本的增,刪,改,查方法.而且具有一個緩存機制,能夠按照某個時間點,按照緩存中的持久化對象屬性的變化來更新數據庫,著就是Session的緩存清理過程.在Hibernate中對象分為三個狀態,臨時,持久化,游離.如果我們希望JAVA里的一個對象一直存在,就必須有一個變量一直引用著這個對象.當這個變量沒了.對象也就被JVM回收了.當然這個是最基本的常識了.當Session的save()方法持久化了一個對象的時候,即使這個對象的引用變量小時了.這個對象也依然存在,因為Sessoin里保存了一個這個對象的引用,當然Session緩存被清空,這個對象就OVER了.在這個對象保存在Sessoin的時候如果調用load()方法試圖去數據庫中加載一個對象,這個時候Session會先判斷緩存中有沒有這個對象,如果有了,那么就不需要去數據庫加載了.這樣可以減少訪問數據庫的頻率,還可以保證緩存中的對象于數據庫的同步.
          Session有兩個方法,一個commit()事務提交方法,還有flush()刷新緩存方法,都有著清理緩存的作用,flush()進行緩存的清理,執行一系列的SQL語句,但不會提交事務.而commit()方法會先調用flush()方法,然后在提交事務.Session還有一個方法就是setFushMode()方法,用戶設定清理緩存的時間點,主要有三種模式,默認Flush.Mode.AUTO
          1)FlushMode.AUTO Session的查詢方法,commit方法,flush方法都會清理緩存.
          2)FlushMode.COMMIT Session的commit方法,flush方法會清理緩存.
          3)FlushMode.NEVER Session的flush方法會清理緩存.
    對象的臨時狀態:剛用new創建對象的時候,它還沒有被持久化,這個時候是臨時狀態.
    對象的持久化狀態:已經被加入到Session的緩存中,通常所說的持久化對象就是只一個對象在這個狀態的時候.
    對象的游離狀態:已經被持久化,但是不屬于Session的緩存的時候是游離狀態.
    posted on 2007-05-24 15:43 我心依舊 閱讀(3862) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 黑人大战亚洲人精品一区| 91成人免费观看网站| 亚洲不卡AV影片在线播放| 亚洲av无码成人精品国产| 尤物永久免费AV无码网站| 国产亚洲欧美在线观看| jizzjizz亚洲| 中文字幕在线免费视频| 亚洲av不卡一区二区三区| 国产在线观看麻豆91精品免费 | 在线观看亚洲成人| 国产午夜精品理论片免费观看| 亚洲日韩一页精品发布| 国产精品99久久免费观看| 亚洲电影一区二区| 可以免费看黄视频的网站| 亚洲熟妇丰满xxxxx| 免费在线观看一级毛片| 国产亚洲精品免费视频播放| 亚洲国产精品久久久久婷婷软件 | 一本色道久久88亚洲精品综合 | 卡1卡2卡3卡4卡5免费视频| 亚洲1区2区3区精华液| 国产精品亚洲mnbav网站| 一级毛片免费毛片一级毛片免费| 亚洲同性男gay网站在线观看| 日本黄页网站免费| 国产一级一毛免费黄片| 亚洲成a人片在线观看播放| 日本免费一二区在线电影| 中文字幕在线免费视频| 色婷五月综激情亚洲综合| 亚洲国产成人久久笫一页| 免费A级毛片无码A∨| 亚洲精品人成网线在线播放va| 日韩亚洲变态另类中文| 免费人成在线视频| 拍拍拍无挡免费视频网站| 欧洲 亚洲 国产图片综合| 亚洲日产无码中文字幕| 好男人www免费高清视频在线|