Hibernate 使用附加条件休眠表中的max记录
我正在尝试从表中获取记录,该表的最大年龄+名称Hibernate 使用附加条件休眠表中的max记录,hibernate,Hibernate,我正在尝试从表中获取记录,该表的最大年龄+名称 Criteria criteria = session .createCriteria(Person.class) .setProjection(Projections.max("age")); Integer maxAge = (Integer)criteria.uniqueResult(); 上面的代码给出了整个表中的最高年龄,而我只想在person name=“john”处获得最高年龄 我怎样才能做到这一点 我试着用这种方式添加一
Criteria criteria = session
.createCriteria(Person.class)
.setProjection(Projections.max("age"));
Integer maxAge = (Integer)criteria.uniqueResult();
上面的代码给出了整个表中的最高年龄,而我只想在person name=“john”处获得最高年龄
我怎样才能做到这一点
我试着用这种方式添加一个critera
Criteria critNew = session
.createCriteria(Person.class);
critNew.add(Restrictions.eq("personName","john"));
critNew.add(Restrictions.eq("age", maxAge));
但用这种方法,它只会搜索maxAge是“整个表中最高年龄”的john
例如,如果整个表中的maxAge为50。
还有3个人叫约翰,年龄分别是10岁、20岁、30岁
我的代码不起作用
请建议
谢谢只要把它们放在一个标准里就行了
Criteria criteria = session
.createCriteria(Person.class)
.add( Restrictions.eq("name", "john"))
.setProjection(Projections.max("age"));
Integer maxAge = (Integer)criteria.uniqueResult();
谢谢,但是用这种方法,结果会很好,但是我的条件返回一个整数(最高的数字)。当我尝试将其放入列表时,即list=criteria.list();list=46(最高的数字),其中我正在寻找完整的Person类,有什么想法吗..更改最后一行
list maxages=(list)criteria.list()代码>