2012-05-13 16 views
1

結果でハイバネートグループにアクセスするにはどうしたらいいですか?私はその日までにグループ化された操作の数を取得しようとします。私のコードはここにあります:結果ごとにハイバネートグループの結果にアクセスする方法

Criteria crit = sess().createCriteria(Attendance.class); 
     crit.setProjection(Projections.projectionList() 
       .add(Projections.groupProperty("date"),"adate") 
       .add(Projections.rowCount(),"trueCount")); 
     crit.add(Restrictions.eq("status", true)); 
     List l = crit.list(); 

正しい結果がリストにロードされます。このリスト内の結果にどのようにアクセスできますか?

答えて

2

それはObject[0]adateエイリアス(日)のためであり、あなたが返すリストに結果にアクセスできるようObject[1]は、trueCount(整数)のためであるObject[]のリストを返す必要があります。

List<Object[]> l = (List<Object[]>)crit.list(); 

for(Object[] result: l){ 
    Date adate = (Date)result[0]; 
    Integer trueCount = (Integer)result[1]; 
} 
関連する問題