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

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

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

    wiflish
    Loving Life! Loving Coding!
    posts - 98,comments - 98,trackbacks - 0
    Hibernate數據加載方式:
    1、即時加載(Immediate Loading)
    ?? 當實體加載完成后,立即加載與實體相關聯的數據。即當實體加載完成后,Hibernate自動立即讀取與實體相關聯的數據,并且填充到實體對應的屬性中。這種加載通常有多條select語句,即select實體數據后,同時select實體相關聯的數據。

    2、延遲加載(Lazy Loading)
    ?? 實體加載時,其關聯數據并不是立即讀取,而是當關聯數據第一次被訪問時再進行讀取,這種加載方式在第一次訪問關聯數據時,必須在同一個session中,否則會報session已關閉錯誤。
    ?? 延遲加載通過在實體的hbm文件中的對應屬性中設定lazy="true"實現。Hibernate3默認的加載方式是延遲加載。即默認lazy="true",主要用于one-to-many場合。

    3、預先加載(Eager Loading)
    ?? 預先加載時,實體及關聯對象同時讀取,與即時加載類似,但是預先加載是使用"outer-join"通過一條select語句同時讀取。
    ?? 注意:當實體間關聯比較復雜時,比如多層關聯,Hibernate生成的"outer join SQL"可能過于復雜,此時可以通過設定全局變量(hibernate.max_fetch_depth)限定join的層次(一般設定為5層)。

    4、批量加載(Batch Loading)
    ?? 對于即時和延遲加載,可以采用批量加載進行優化。
    ?? 批量加載就是通過批量提交多個限定條件,一次多個限定條件的數據讀取。同時在實體映射文件中的class節點,通過配置"batch-size"參數打開批量加載機制,并限定每次批量加載數據的數量,一般來說該值<10較合理.
    ?
    比如:???
    select?*?from test?where?id=1;
    select?
    *?from test?where?id=2;
    ? 我們可以整合成一條語句:
    select?*?from?test?where?id=1?ro?id=2;
    ? 這就是所謂的批量加載機制。


    posted on 2006-08-03 17:25 想飛的魚 閱讀(669) 評論(0)  編輯  收藏 所屬分類: hibernate
    主站蜘蛛池模板: 亚洲国产婷婷香蕉久久久久久| 毛片基地免费视频a| 亚洲国产午夜中文字幕精品黄网站 | 亚洲色爱图小说专区| 一级特黄aaa大片免费看| 免费乱理伦在线播放| 成人久久久观看免费毛片| 亚洲A丁香五香天堂网| 一级特黄色毛片免费看| 国产成人亚洲精品影院| 9久热这里只有精品免费| 精品国产亚洲一区二区三区| 女人体1963午夜免费视频| 亚洲精品一区二区三区四区乱码| 亚洲成人免费电影| 亚洲人成网站色在线观看| 日本一区免费电影| 又长又大又粗又硬3p免费视频 | 日韩一级视频免费观看| 香蕉97碰碰视频免费| 国产乱辈通伦影片在线播放亚洲| 精品无码一级毛片免费视频观看 | WWW亚洲色大成网络.COM| 亚洲一级黄色视频| 免费91麻豆精品国产自产在线观看| 久久久久亚洲精品无码蜜桃| 久久久久久国产a免费观看黄色大片| 亚洲精品无码久久久久YW| 亚洲?V无码成人精品区日韩| 99久久99这里只有免费的精品| 亚洲精品视频在线免费| 免费精品国产自产拍观看| 中国一级毛片视频免费看| 亚洲国产精品无码久久久| 免费永久看黄在线观看app| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 69pao强力打造免费高清| 亚洲精品一卡2卡3卡四卡乱码| 亚洲熟伦熟女新五十路熟妇 | 亚洲第一黄片大全| 久久久久免费看成人影片|