<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 四虎影库久免费视频| 美女无遮挡免费视频网站| 久久精品国产亚洲精品| 综合在线免费视频| 日本高清免费观看| xxxxx做受大片在线观看免费| 114一级毛片免费| 精品无码国产污污污免费网站国产 | 日本高清高色视频免费| 黄页网站在线视频免费| 久久久久久亚洲精品影院| 久久亚洲AV成人无码国产| 亚洲国产精品狼友中文久久久| 国产日韩精品无码区免费专区国产 | 国产亚洲情侣一区二区无码AV| 韩国免费a级作爱片无码| 亚洲AV无码专区在线亚| 久久久久久久亚洲Av无码| 亚洲熟女少妇一区二区| 亚洲国产精品国产自在在线| 国产精品无码免费视频二三区| 人成免费在线视频| 美女免费视频一区二区| 亚洲色偷偷偷综合网| 亚洲白嫩在线观看| 亚洲黄色在线播放| 亚洲视频免费在线观看| 亚洲av无码片在线播放| 亚洲AV日韩AV天堂久久| 亚洲av永久无码精品国产精品| 青青青国产免费一夜七次郎| 两个人的视频高清在线观看免费| 新最免费影视大全在线播放| 深夜A级毛片视频免费| 日本精品久久久久久久久免费 | 免费人成毛片动漫在线播放| a在线免费观看视频| 在线观看特色大片免费网站| 性xxxx视频免费播放直播| 99re视频精品全部免费| 免费观看的毛片大全|