2012-03-16 3 views
2

Я использовал следующие критерии спящего режима.Как подать заявку на результат проекции спящего режима

Criteria criteria = session.createCriteria(Student.class); 
     ProjectionList projectionList = Projections.projectionList(); 
     projectionList.add(Projections.groupProperty("studentId")); 
     projectionList.add(Projections.count("studentId")); 
     criteria.setProjection(projectionList); 
     return criteria.list(); 

Это возвращает список объектов, а объекты имеют два поля, studentId и count (studentId). Я хочу отсортировать этот список по счету (studentId) по убыванию. Как мне сделать этот спящий режим?

В настоящее время я получаю

{[1, 5], [2, 7], [3,4]} 

Я хочу, чтобы это этот

{[2, 7], [1, 5], [3,4]} 

решение: это не sloves вопрос :)

Criteria criteria = session.createCriteria(Student.class); 
      ProjectionList projectionList = Projections.projectionList(); 
      projectionList.add(Projections.groupProperty("studentId")); 
      projectionList.add(Projections.alias(Projections.count("studentId"),"count")); 
      criteria.setProjection(projectionList); 
      criteria.addOrder(Order.desc(("count"))); 
      return criteria.list(); 

ответ

3

Поскольку нет ответ принят - я отформатирован и упрощен ваше собственное решение немного:

Criteria criteria = session.createCriteria(Student.class); 
ProjectionList projectionList = Projections.projectionList(); 
projectionList.add(Projections.groupProperty("studentId")); 
projectionList.add(Projections.count("studentId"), "count"); 
criteria.setProjection(projectionList); 
criteria.addOrder(Order.desc(("count"))); 
return criteria.list(); 
Смежные вопросы