2015-07-12 113 views
0

我試圖運行的使用Hibernate的標準API休眠投影與聚合函數

List results = session.createCriteria(Person.class) 
.setProjection(Projections.projectionList() 
    .add(Projections.rowCount()) 
    .add(Projections.property("name")) 
    .add(Projections.property("age")) 
).list(); 

內置查詢但是,當我運行此查詢我得到一個錯誤

"ORA-00937: not a single-group group function" 

是什麼這個錯誤背後的原因。

回答

0

你的投影被轉換成像查詢: SELECT count(*), name, age FROM person;

的問題是,count(*)從數據庫表中的每一行返回單行,而名字和年齡產量一行。您需要更復雜的查詢來選擇count(*),然後將其加入SELECT name, age FROM person的結果

或者,您可以在單獨的查詢中選擇您的計數。