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

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

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

    Tin's Blog

    You are coming a long way, baby~Thinking, feeling, memory...

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      128 隨筆 :: 0 文章 :: 221 評論 :: 0 Trackbacks
    在Hibernate中獲取有關聯關系的pojo。我是指例如一個User(用戶)擁有一個many-to-one的屬性Unit(單位),但是有時有些用戶的Unit屬性為空,如果按單位查詢用戶的時候那些單位為null的用戶就會被遺漏,如何調取呢?這本來是很簡單的,但是我想當然的使用了Restriction.eq,但是不行,后來看了手冊才發現應該使用Restrictions.isNul。下面是Test代碼...

    ????/**
    ?????*?為了獲取一個unit為null的用戶,如果傳入一個null作為Uint實例則返回的結果總是0
    ?????*?因為執行的SQL為:(select?*?)?from?USER_INF?this_?where?this_.UNIT_ID=''
    ?????*?這不是我們所期望的結果
    ?????
    */

    ????@Test
    ????
    public?void?getUsersWhosUnitIsNullByRestrictionsEqNullUnit()?{
    ????????DetachedCriteria?dc?
    =?DetachedCriteria.forClass(User.class);
    ????????dc.add(Restrictions.eq(
    "unit",?null));

    ????????Criteria?cri?
    =?dc.getExecutableCriteria(session);
    ????????log.debug(
    "getUsersWhosUnitIsNullByRestrictionsEqNullUnit():"?+?cri.list().size());
    ????}

    ????
    ????
    /**
    ?????*?為了獲取一個unit為null的用戶,如果傳入一個id為null的Unit實例則會報錯,無法翻譯為SQL
    ?????*?錯誤類型為:org.hibernate.TransientObjectException
    ?????*?這也不是我們所期望的結果
    ?????
    */

    ????@Ignore
    ????@Test(expected
    =TransientObjectException.class)
    ????
    public?void?getUsersWhosUnitIsNullByRestrictionsEqUnitNullId()?{
    ????????Unit?unit?
    =?new?Unit();
    ????????log.debug(unit.getId());
    ????????DetachedCriteria?dc?
    =?DetachedCriteria.forClass(User.class);
    ????????dc.add(Restrictions.eq(
    "unit",?unit));

    ????????Criteria?cri?
    =?dc.getExecutableCriteria(session);
    ????????log.debug(
    "getUsersWhosUnitIsNull():"?+?cri.list().size());
    ????}


    ????
    /**
    ?????*?為了獲取一個unit為null的用戶正確的方法應該是使用Restrictions.isNull方法
    ?????*?因為執行的SQL為:(select?*?)?from?USER_INF?this_?where?this_.UNIT_ID?is?null
    ?????*?這才是我們所希望的結果
    ?????
    */

    ????@Test
    ????
    public?void?getUsersWhosUnitIsNullByRestrictionsIsNull()?{
    ????????DetachedCriteria?dc?
    =?DetachedCriteria.forClass(User.class);
    ????????dc.add(Restrictions.isNull(
    "unit"));

    ????????Criteria?cri?
    =?dc.getExecutableCriteria(session);
    ????????log.debug(
    "getUsersWhosUnitIsNullByRestrictionsIsNull():"?+?cri.list().size());
    ????}
    posted on 2006-05-11 13:09 Tin 閱讀(2385) 評論(0)  編輯  收藏 所屬分類: Hibernate相關
    主站蜘蛛池模板: 亚洲一区二区三区偷拍女厕| 国产一级大片免费看| 久久精品国产69国产精品亚洲| 搜日本一区二区三区免费高清视频| 国产性生交xxxxx免费| 国产亚洲精品91| 亚洲中文字幕无码一久久区| 久草免费福利在线| 亚洲男同帅GAY片在线观看| 久久免费视频99| 亚洲一级毛片免费在线观看| 成人毛片免费视频| 色网站在线免费观看| 亚洲精品综合久久| 好久久免费视频高清| 亚洲精品国产福利片| 无码高潮少妇毛多水多水免费| 亚洲国产精品网站在线播放 | 97无码免费人妻超级碰碰碰碰| 亚洲精品美女网站| 免费少妇a级毛片人成网| 久久久久久久久久免免费精品| 精品亚洲永久免费精品| 91福利免费视频| 亚洲国产精品精华液| 久久久久亚洲精品天堂久久久久久| 中文无码成人免费视频在线观看| 亚洲欧洲日韩国产| 免费一级毛片在线播放| 精品视频在线免费观看| 亚洲日本久久久午夜精品| 亚洲精品综合久久| 日本免费人成在线网站| 特黄特色的大片观看免费视频| 久久精品国产精品亚洲艾草网| 成年女人午夜毛片免费看| 久久久久久国产a免费观看不卡 | 7723日本高清完整版免费| 香港特级三A毛片免费观看 | 亚洲国产午夜精品理论片| 免费在线观看的黄色网址|