2010-10-12 76 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"));