2012-03-16 10 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)という2つのフィールドがあります。 count(studentId)降順でこのリストを並べ替える必要があります。この休止状態をどうやって行うのですか?

現在、私はそれをこの

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

を取得したい

{[1, 5], [2, 7], [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();