DetachedCriteria query = DetachedCriteria.forClass(MoviePlayItem.class);
query.setProjection(Projections.projectionList()
.add(Projections.alias(Projections.groupProperty("movie"),"movie"))
.add(Projections.alias(Projections.rowCount(), "rowcount")));
//query.add(Restrictions.gt("rowcount", new Integer(0)));这样写有错误
query.addOrder(Order.desc("rowcount"));请问要求rowcount>0该怎么写? 类似于sql语句中的having

解决方案 »

  1.   

    SF..什么rowcount>0该怎么写?说明一下你想达到的结果 和需求..
      

  2.   

    hql语句是这样的:select mpi.movie as movie,count(*) as rowcount from MoviePlayItem mpi
    group by mpi.movie having count(*)>0 order by count(*) desc
      

  3.   

    干脆用hibernate执行原生sql  
    效率也高
      

  4.   

    这种情况下最好用原生SQL,调试也方便
      

  5.   

    hibernate的Criteria是不支持having的,不过有个人写了一个扩展Projections,叫做CustomProjections地址:
    http://opensource.atlassian.com/projects/hibernate/browse/HHH-1700,楼主不妨下载测试一下
      

  6.   

    就是调用createSQLQuery("select mpi.movie as movie,count(*) as rowcount from MoviePlayItem mpi 
    group by mpi.movie having count(*)>0 order by count(*) desc").这样就可以了。
      

  7.   

    那只能用hql语句了,将就了!