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

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


    網站導航:
     
    主站蜘蛛池模板: 中文有码亚洲制服av片| 亚洲精品国产福利片| 三年片在线观看免费观看大全中国 | 久久免费观看视频| 亚洲日本韩国在线| 国产乱子伦精品免费视频| 国产精品亚洲精品日韩已方| h在线看免费视频网站男男| 亚洲综合久久夜AV | 中出五十路免费视频| 婷婷久久久亚洲欧洲日产国码AV | 久久精品成人免费网站| 久久精品亚洲中文字幕无码网站| 野花香高清在线观看视频播放免费 | 一级毛片在线观看免费| 亚洲黄色免费网站| 免费电影在线观看网站| 亚洲成a人无码亚洲成av无码 | 亚洲国产模特在线播放| 性色av免费观看| 特级毛片A级毛片100免费播放| 久久精品国产亚洲一区二区三区| 少妇性饥渴无码A区免费| 亚洲视频欧洲视频| 永久免费毛片手机版在线看| 一级做a爰全过程免费视频毛片| 亚洲av不卡一区二区三区| 国产精品入口麻豆免费观看| 亚洲AV日韩AV无码污污网站| 亚洲精品无码久久久久AV麻豆| 国产精品免费大片| 亚洲乱亚洲乱妇24p| 久久激情亚洲精品无码?V| 一级毛片免费观看不卡的| 亚洲精品乱码久久久久久蜜桃图片| 国产精品亚洲高清一区二区| 日本阿v免费费视频完整版| 日韩在线观看视频免费| 亚洲大香人伊一本线| 免费人成网站在线播放| 中文字幕在线免费|