如果我有一个名为Person的类
public class Person{
private int id;
private int age;
}
如何获得最大年龄的人物对象?
当我使用criteria.setProjection(Projections.max(" age))时,它会返回最大年龄,然后我应该找到这个年龄的人的条目。
我可以跳过查找最大年龄?并直接获得最大年龄的人。它可能看起来像,
person = criteria.somehow.setProjection().somehow.setMaxResults(1).uniqueResult();
我正在尝试找到这样做的方法,因为我担心如果我在休眠时进行两次搜索,会浪费我的表演时间。
答案 0 :(得分:0)
您可以尝试以下代码:
Criteria cr = session.createCriteria(Person.class);
cr.setProjection(Projections.projectionList()
.add(Projections.max("age")));
如果上述方法不起作用,您可以这样做:
Person p= (Person) session.createCriteria(Person.class)
.addOrder(Order.desc("age"))
.setMaxResults(1)
.uniqueResult();