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

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

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

    void

    Hibernate-投影

    org.hibernate.criterion.ProjectionsProjection 的實例工廠。我們通過調用 setProjection()應用投影到一個查詢。

    List results = session.createCriteria(Cat.class)
    .setProjection( Projections.rowCount() )
    .add( Restrictions.eq("color", Color.BLACK) )
    .list();
    List results = session.createCriteria(Cat.class)
    .setProjection( Projections.projectionList()
    .add( Projections.rowCount() )
    .add( Projections.avg("weight") )
    .add( Projections.max("weight") )
    .add( Projections.groupProperty("color") )
    )
    .list();

    在一個條件查詢中沒有必要顯式的使用 "group by" 。某些投影類型就是被定義為 分組投影,他們也出現在SQL的group by子句中。

    你可以選擇把一個別名指派給一個投影,這樣可以使投影值被約束或排序所引用。下面是兩種不同的實現方式:

    List results = session.createCriteria(Cat.class)
    .setProjection( Projections.alias( Projections.groupProperty("color"), "colr" ) )
    .addOrder( Order.asc("colr") )
    .list();
    List results = session.createCriteria(Cat.class)
    .setProjection( Projections.groupProperty("color").as("colr") )
    .addOrder( Order.asc("colr") )
    .list();

    alias()as()方法簡便的將一個投影實例包裝到另外一個 別名的Projection實例中。簡而言之,當你添加一個投影到一個投影列表中時 你可以為它指定一個別名:

    List results = session.createCriteria(Cat.class)
    .setProjection( Projections.projectionList()
    .add( Projections.rowCount(), "catCountByColor" )
    .add( Projections.avg("weight"), "avgWeight" )
    .add( Projections.max("weight"), "maxWeight" )
    .add( Projections.groupProperty("color"), "color" )
    )
    .addOrder( Order.desc("catCountByColor") )
    .addOrder( Order.desc("avgWeight") )
    .list();
    List results = session.createCriteria(Domestic.class, "cat")
    .createAlias("kittens", "kit")
    .setProjection( Projections.projectionList()
    .add( Projections.property("cat.name"), "catName" )
    .add( Projections.property("kit.name"), "kitName" )
    )
    .addOrder( Order.asc("catName") )
    .addOrder( Order.asc("kitName") )
    .list();

    你也可以使用Property.forName()來表示投影:

    List results = session.createCriteria(Cat.class)
    .setProjection( Property.forName("name") )
    .add( Property.forName("color").eq(Color.BLACK) )
    .list();
    List results = session.createCriteria(Cat.class)
    .setProjection( Projections.projectionList()
    .add( Projections.rowCount().as("catCountByColor") )
    .add( Property.forName("weight").avg().as("avgWeight") )
    .add( Property.forName("weight").max().as("maxWeight") )
    .add( Property.forName("color").group().as("color" )
    )
    .addOrder( Order.desc("catCountByColor") )
    .addOrder( Order.desc("avgWeight") )
    .list();

    posted on 2008-07-19 12:16 void 閱讀(485) 評論(0)  編輯  收藏 所屬分類: Hibernate

    主站蜘蛛池模板: 午夜老司机永久免费看片| 国产精品内射视频免费| 69免费视频大片| 亚洲精品成人无限看| 三级毛片在线免费观看| 国产自偷亚洲精品页65页| A毛片毛片看免费| 亚洲欧洲日产国码av系列天堂| 中国性猛交xxxxx免费看| 亚洲精品无码专区在线在线播放 | 无码专区—VA亚洲V天堂| 97在线免费视频| 亚洲日本中文字幕区| 亚洲视频免费一区| 国产色在线|亚洲| 在线观看免费亚洲| jizz18免费视频| 久久精品国产精品亚洲色婷婷| 日韩人妻无码精品久久免费一 | 国产真实伦在线视频免费观看| 在线观看亚洲免费| 最新国产AV无码专区亚洲 | 亚洲国产精品成人综合色在线| 午夜一级毛片免费视频| 免费国产草莓视频在线观看黄| a级亚洲片精品久久久久久久| 高清一区二区三区免费视频| 亚洲另类图片另类电影| 大胆亚洲人体视频| 日韩视频免费在线观看| 亚洲一区二区三区无码国产| 日本成人免费在线| 国产成人无码区免费内射一片色欲| 亚洲图片在线观看| 精品国产免费观看| a级毛片免费播放| 亚洲午夜精品久久久久久app| 亚洲综合久久夜AV | 亚洲一级毛片免费观看| 国产青草亚洲香蕉精品久久| 亚洲国产精品久久66|