Что вы Размещенное родной запрос SQL. Прежде чем вы сможете перевести это на использование API критериев, нам нужно сначала узнать о ваших классах Entity и его свойствах.
Вот пример:
@Entity
public class UserGamePlay {
private Long userId;
private Long totalScore;
...
}
HQL:
SELECT ugp.userId, SUM(ugp.totalScore)
FROM UserGamePlay ugp
GROUP BY ugp.userId
ORDER BY SUM(ugp.totalScore)
Критерии:
List results = session.createCriteria(UserGamePlay.class)
.setProjection(Projections.projectionList()
.add(Projections.property("userId"), "userId")
.add(Projections.sum("totalScore"), "score")
.add(Projections.groupProperty("userId"), "userId")
)
.addOrder(Order.asc("score"))
.list();
SO не является свободным написания кода службы ... –