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

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

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

    tao的學習樂園
    隨筆 - 6  文章 - 4  trackbacks - 0
    <2009年7月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

        hibernate中get方法和load方法的根本區別在于:如果你使用load方法,hibernate認為該id對應的對象(數據庫記錄)在數據庫中是一定存在的,所以它可以放心的使用,它可以放心的使用代理來延遲加載該對象。在用到對象中的其他屬性數據時才查詢數據庫,但是萬一數據庫中不存在該記錄,那沒辦法,只能拋異常,所說的load方法拋異常是指在使用該對象的數據時,數據庫中不存在該數據時拋異常,而不是在創建這個對象時。由于session中的緩存對于hibernate來說是個相當廉價的資源,所以在load時會先查一下session緩存看看該id對應的對象是否存在,不存在則創建代理。所以如果你知道該id在數據庫中一定有對應記錄存在就可以使用load方法來實現延遲加載。
        對于get方法,hibernate會確認一下該id對應的數據是否存在,首先在session緩存中查找,然后在二級緩存中查找,還沒有就查數據庫,數據庫中沒有就返回null。雖然好多書中都這么說:“get()永遠只返回實體類”,但實際上這是不正確的,get方法如果在session緩存中找到了該id對應的對象,如果剛好該對象前面是被代理過的,如被load方法使用過,或者被其他關聯對象延遲加載過,那么返回的還是原先的代理對象,而不是實體類對象,如果該代理對象還沒有加載實體數據(就是id以外的其他屬性數據),那么它會查詢二級緩存或者數據庫來加載數據,但是返回的還是代理對象,只不過已經加載了實體數據。 
        關于二者查詢數據的順序可以由前面內容總結如下:get方法首先查詢session緩存,沒有的話查詢二級緩存,最后查詢數據庫;反而load方法創建時首先查詢session緩存,沒有就創建代理,實際使用數據時才查詢二級緩存和數據庫

        總之對于get和load的根本區別,一句話,hibernate對于load方法認為該數據在數據庫中一定存在,可以放心的使用代理來延遲加載,如果在使用過程中發現了問題,只能拋異常;而對于get方法,hibernate一定要獲取到真實的數據,否則返回null。   
    posted on 2009-07-07 13:46 teok 閱讀(302) 評論(1)  編輯  收藏

    FeedBack:
    # re: hibernate get load 方法的區別 2009-07-10 11:15 keer
    那我在任何時候都使用get,似乎也挺好呀,呵呵  回復  更多評論
      

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


    網站導航:
     
    trust what we trust... 主站蜘蛛池模板: 亚洲中文字幕无码一区二区三区| 99久久久国产精品免费牛牛| 亚洲黄片毛片在线观看| 美女无遮挡拍拍拍免费视频| 亚洲欧美成人av在线观看| 亚洲国产成人乱码精品女人久久久不卡| 一级特黄特色的免费大片视频| 亚洲精品国精品久久99热一| 毛片免费观看的视频在线| 国产免费无码AV片在线观看不卡 | 亚洲日韩国产二区无码| 久久久久无码精品亚洲日韩| 亚洲A∨午夜成人片精品网站| 妻子5免费完整高清电视| 久久精品电影免费动漫| 华人在线精品免费观看| a一级毛片免费高清在线| 国产成人亚洲综合在线| 亚洲久热无码av中文字幕 | 182tv免费视频在线观看| 亚洲国产精品综合福利专区| 国产小视频在线免费| 欧美在线看片A免费观看| 免费大片黄在线观看yw| 国产成人免费全部网站| 日韩成全视频观看免费观看高清| 午夜一区二区免费视频| 免费在线观看理论片| 国产亚洲美女精品久久久2020| 久久久久亚洲AV成人网人人软件 | 又硬又粗又长又爽免费看| 色婷婷综合缴情综免费观看| 无遮挡免费一区二区三区 | 久久久久亚洲AV无码专区首| 亚洲综合无码一区二区三区| 亚洲影视自拍揄拍愉拍| 美女视频黄a视频全免费网站一区| 一级免费黄色大片| 99视频免费播放| 中文字幕无码免费久久99| 亚洲精品无码久久毛片|