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

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

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

    七郎's JavaBlog

    草木竹石皆可為劒。至人之用人若鏡,不將不迎,應(yīng)而不藏,故能勝物而不傷。
    posts - 60, comments - 14, trackbacks - 0, articles - 0

    Hibernate提供了HQL,方便查詢的編寫。但是在某些情況下,我更喜歡用Criteria,因?yàn)樗恼Z義非常明確。

    在處理對象關(guān)聯(lián)的時(shí)候,經(jīng)常要對對象下的某個(gè)集合字段進(jìn)行條件限制。比如下面的類:

    public class MainClass{  protected long id;  protected int type;  protected Set<SubClass> subs= new HashSet<SubClass>();  ......  getter/setter}  public class SubClass{  protected long id;  protected int value;  protected Set<MainClass> ms = new HashSet<MainClass>();  ...... getter/setter} 

    在初始化數(shù)據(jù)中,假設(shè)MainClass的實(shí)例m1含有SubClass的實(shí)例s1,s2,s3;MainClass的實(shí)例m2含有SubClass的實(shí)例s2,s3,s4。

    而其中s1,s2,s3,s4的value分別是1,2,3,4 

    現(xiàn)在要查詢出 MainClass中SubClass集合含有SubClass實(shí)例value為2的的MainClass實(shí)例并且type為1,可以使用下面的查詢方法:

      DetachedCriteria criteria = DetachedCriteria        .forClass(MainClass.class);  criteria.add(        Restrictions.eq("type", new Integer(1)))        .createAlias("subs", "s").add(             Restrictions.eq("s.value", new Integer(2)));

    執(zhí)行此查詢對象后會(huì)得到符合條件的MainClass實(shí)例。

    需要注意的是在獲取的MainClass實(shí)例中,subs是完全的記錄集,而不是經(jīng)過過濾的記錄集,也就是相當(dāng)于根據(jù)MainClass的ID獲取的完整實(shí)例一樣。

    ps: 

      如果需要過濾subs的記錄集,需要使用額外的過濾方法,請參考Hibernate的具體實(shí)現(xiàn)。

      使用HQL也可以很方便地實(shí)現(xiàn),但是需要給出完整的join標(biāo)記,不如createAlias來得方面和直觀。 


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲av手机在线观看| 国产成人免费高清激情视频| 亚洲爽爽一区二区三区| 久久亚洲精品高潮综合色a片| 成全视频免费高清| 亚洲精品成a人在线观看☆| 女人18毛片a级毛片免费视频| 亚洲制服丝袜精品久久| 成人免费在线观看网站| 亚洲码欧美码一区二区三区| 国产美女精品视频免费观看| 亚洲av无码专区首页| 免费大黄网站在线观| 久久精品成人免费国产片小草 | 在线看片无码永久免费视频| 亚洲国产精品成人午夜在线观看| 亚洲视频免费一区| 国产日本亚洲一区二区三区| 免费观看毛片视频| 国产乱妇高清无乱码免费| 亚洲日韩精品射精日| 中文字幕免费高清视频| 久久精品国产亚洲AV久| 国产自产拍精品视频免费看 | a级毛片免费观看网站| 亚洲香蕉网久久综合影视| 久久香蕉国产线看免费| 麻豆狠色伊人亚洲综合网站 | 久久久久国产精品免费免费搜索| 亚洲日本成本人观看| 亚洲国产日韩在线观频| 日本一区二区免费看| 亚洲真人无码永久在线观看| 免费人成在线观看视频播放| AAAAA级少妇高潮大片免费看| 亚洲尹人香蕉网在线视颅| 香蕉高清免费永久在线视频| 香蕉免费在线视频| 亚洲高清中文字幕免费| 亚洲精品国产电影| 我们的2018在线观看免费高清|