【发布时间】:2012-03-16 09:06:15
【问题描述】:
我使用了以下休眠标准。
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)。我想按 count(studentId) 降序对这个列表进行排序。我怎么做这个休眠?
目前我正在接受
{[1, 5], [2, 7], [3,4]}
我想要这个
{[2, 7], [1, 5], [3,4]}
解决方案: 这解决了这个问题:)
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();
【问题讨论】: