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

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

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

    超級笨笨

    好腦子,不如一個爛博客
    數據加載中……
    Hibernate的fetch="join"和fetch="select"

    fetch參數指定了關聯對象抓取的方式是select查詢還是join查詢,select方式時先查詢返回要查詢的主體對象(列表),再根據關聯外鍵id,每一個對象發一個select查詢,獲取關聯的對象,形成n+1次查詢;
    而join方式,主體對象和關聯對象用一句外鍵關聯的sql同時查詢出來,不會形成多次查詢。
    如果你的關聯對象是延遲加載的,它當然不會去查詢關聯對象。
    另外,在hql查詢中配置文件中設置的join方式是不起作用的(而在所有其他查詢方式如get、criteria或再關聯獲取等等都是有效的),會使用select方式,除非你在hql中指定join fetch某個關聯對象。

    fetch策略用于定義 get/load一個對象時,如何獲取非lazy的對象/集合。 這些參數在Query中無效。

    fetch策略用于定義 get/load一個對象時,如何獲取非lazy的對象/集合。 這些參數在Query中無效。

    查詢抓?。J的)在N+1查詢的情況下是不好的,因此我們可能會要求在映射文檔中定義使用連接抓?。?/p>

    <set name="permissions"
    fetch="join">
    <key column="userId"/>
    <one-to-many class="Permission"/>
    </set
    <many-to-one name="mother" class="Cat" fetch="join"/>
    在映射文檔中定義的抓取策略將會有產生以下影響:

    通過get()或load()方法取得數據。

    只有在關聯之間進行導航時,才會隱式的取得數據(延遲抓取)。

    條件查詢

    在映射文檔中顯式的聲明 連接抓取做為抓取策略并不會影響到隨后的HQL查詢。

    通常情況下,我們并不使用映射文檔進行抓取策略的定制。更多的是,保持其默認值,然后在特定的事務中, 使用HQL的左連接抓取(left join fetch) 對其進行重載。這將通知 Hibernate在第一次查詢中使用外部關聯(outer join),直接得到其關聯數據。 在條件查詢 API中,應該調用 setFetchMode(FetchMode.JOIN)語句。

    其實這并不能說明hql能夠按照配置文件設置的join進行抓取,這時 第二級:topic-->forum 的抓取其實已經和hql沒有關系了,因為前面已經產生了另一個select方式的抓取語句。
    而是對象的關聯獲取,假如查詢message時topic是設置為延遲加載的,那么在后面獲取message.topic時,如topic.forum不延遲加載,那么topic-->forum會實現配置的join方式的抓取,這個顯然和hql查詢沒有關系。

    轉載自:http://qinhanbin.javaeye.com/blog/520038

    posted on 2009-12-29 10:15 超級笨笨 閱讀(431) 評論(0)  編輯  收藏 所屬分類: SSH

    主站蜘蛛池模板: 国产成人无码精品久久久久免费| 亚洲国产精品无码久久青草| 国产青草视频免费观看97| av在线亚洲欧洲日产一区二区| 亚洲国产综合精品中文第一区| 亚洲av永久无码精品秋霞电影秋 | 亚洲男女内射在线播放| 中文字幕亚洲色图| 最近免费中文字幕mv在线电影| 国产亚洲福利一区二区免费看| 亚洲一区二区电影| 18成禁人视频免费网站| 国产亚洲精品成人a v小说| 中日韩亚洲人成无码网站| 久久久精品免费视频| 亚洲国产一区二区三区| 亚洲偷偷自拍高清| 日韩视频在线免费| 一级免费黄色大片| 亚洲国产综合91精品麻豆| 精品国产免费人成网站| 日韩毛片无码永久免费看| 亚洲精品午夜久久久伊人| 国内精品99亚洲免费高清| 日韩特黄特色大片免费视频| 亚洲制服丝袜在线播放| 国内精品一级毛片免费看| 亚洲高清最新av网站| 亚洲香蕉久久一区二区三区四区| 久青草视频在线观看免费| 亚洲成?v人片天堂网无码| 亚洲国产乱码最新视频| 91精品成人免费国产片| 亚洲AV日韩AV高潮无码专区| 亚州**色毛片免费观看| 免费一区二区视频| 免费国产黄网站在线观看视频| 亚洲午夜久久久久久久久久| 农村寡妇一级毛片免费看视频| 国产在线观看免费不卡| 亚洲狠狠婷婷综合久久|