2010-10-12 77 views
3

投影与组数我想执行下列SQLHibernate的标准:BY子句

select count(*) as myCount from user group by name; 

我想出了以下标准相同

DetachedCriteria.ForClass(typeof(UserDTO)) 
    .setProjections(Projections.ProjectionList() 
         .Add(Projections.rowCount(),"myCount") 
         .Add(Projections.groupProperty("this.name")); 

我得到的结果早在一的数量和名称,我怎么才能得到这个数字。

+1

什么用得到几个数字没有什么,他们对应于任何参考的? – 2010-10-13 00:03:21

+0

我正在使用的应用程序具有使用存储库进行数据访问的架构。有预定义的存储库来获取对象。这样获取的对象需要实现某些接口。在这样的体系结构下,我无法检索到由此标准返回的对象。 – frictionlesspulley 2010-10-13 00:28:40

回答

0

我不认为你可以用Criteria做到这一点,但使用HQL很容易。它与你的SQL查询完全一样,但是使用实体/属性名称而不是表格/列。

0

如果每列只有一个组,则可以使用计数不同。

HQL:

select count(distinct name) as myCount from user 

标准:

DetachedCriteria.ForClass(typeof(UserDTO)) 
.setProjections(Projections.ProjectionList() 
        .Add(Projections.countDistinct("name"),"myCount"));