1

結果によってHibernateグループにアクセスするにはどうすればよいですか。日付でグループ化された操作のカウントを取得しようとします。私のコードはここにあります:

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();

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

4

1 に答える 1

2

エイリアス(Date)用と(Integer)用のリストObject[]が返されるはずなので、返されたリストの結果にアクセスするには、次のようにします。Object[0]adateObject[1]trueCount

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

for(Object[] result: l ){
   Date adate = (Date)result[0];
   Integer trueCount = (Integer)result[1]; 
}
于 2012-05-13T10:36:53.893 に答える