有当前一条hql
select count(u.userId), u.userType from User u group by u.userType现在我需要统计出,上面这条语句,一共有多少结果。SQL可以这样:
select count(1) from (
   select count(u.userId), u.userType from User u group by u.userType
)
但是用HQL怎么写呢???

解决方案 »

  1.   

    你可以去程序里计算数量啊
    select count(u.userId), u.userType from User u group by u.userType
    返回一个List,这个list的size不就是你想要的结果吗
      

  2.   

    用另一条hql语句:select count(u.userType) from User u group by u.userType
      

  3.   


    主要是我想实现一个方法的封装。public Pager list(String hql, int page, int pageSize) {
      List result = dao.createQuery(hql).setFirst().setMax().list();
      // 然后这里再跟据hql自动组装一个可以count(hql)的语句
      Pager pager = new Pager(result, count)
    }就类似于这样的东西。
      

  4.   

    很难做到,
    主要是我想实现一个方法的封装。public Pager list(String hql, int page, int pageSize) {
      List result = dao.createQuery(hql).setFirst().setMax().list();
      // 然后这里再跟据hql自动组装一个可以count(hql)的语句
      Pager pager = new Pager(result, count)
    }就类似于这样的东西。