I used following hibernate criteria.
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();
This returns a list of objects and the objects have two fields, studentId and count(studentId). I want to sort this list by count(studentId) descending. How do I do this hibernate?
currently I am getting
{[1, 5], [2, 7], [3,4]}
I want to get it this
{[2, 7], [1, 5], [3,4]}
solution: this sloves the issue :)
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();