Hibernate groupProperty方法——設定參加分組的屬性列

2020-07-16 10:04:58
groupProperty 方法用於設定參加分組的屬性列。

語法:

groupProperty(String propertyName)

引數說明:
  • propertyName:用於指定進行分組的屬性列的列名。

返回值:PropertyProjection 類的物件。PropertyProjection 類為 Projection 類的子類。

範例

對使用者資訊表中的使用者名稱進行分組,並統計每個使用者名稱的人數,關鍵程式碼如下:
Criteria criteria = session.createCriteria(UserForm.class);  //獲取Criteria物件
criteria.setProjection(Projections.projectionList()  //設定投影查詢列
                                                 .add(Projections.groupProperty("username"))
                                                 .add(Projections.rowCount(),"count"));  //設定新增分組的屬性列
list = criteria.list();  //執行查詢語句,獲取查詢結果集
Iterator it = list.iterator();  //獲取查詢疊代器
while(it.hasNext()){  //迴圈遍歷疊代器
  Object[] o = (Object[])it.next();
  System.out.println("使用者名稱:"+o[0]+"人數:"+o[1]);
}