java - 使用 Hibernate Criteria 获取具有最大 id 的记录

标签 java hibernate criteria

使用 HibernateCriteria API ,我想在给定列的最大值的表中选择记录。

我尝试使用 Projections , creating an alias对于 max(colunName),然后在 restrictions.eq() 中使用它,但它一直告诉我“invalid number”。

使用 Hibernate 的正确方法是什么?

最佳答案

您可以使用 DetachedCriteria 来表达子查询,如下所示:

DetachedCriteria maxId = DetachedCriteria.forClass(Foo.class)
    .setProjection( Projections.max("id") );
session.createCriteria(Foo.class)
    .add( Property.forName("id").eq(maxId) )
    .list();

引用文献

关于java - 使用 Hibernate Criteria 获取具有最大 id 的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3900105/

相关文章:

excel - 使用宏根据条件复制值

hibernate 条件未执行

java - 异常在线程 "main"java.lang.UnsatisfiedLinkError : no jpcap in java. library.path

java - addCookie() 在 Tomcat 7 中不起作用

java - hibernate/ Spring 数据 : Incorrect dirty check on field with AttributeConverter

java - hibernate 具有不同用户的多个 session

java - JPQL 到标准

java - 是否可以对对象数组进行冒泡排序?

java - 显式等待给定操作(错误) - Selenium Webdriver

java - 问题 hibernate (java.sql.SQLSyntaxErrorException : ORA-01722: invalid number)