Java 使用HQL查找最大id

Java 使用HQL查找最大id,java,sql,hibernate,hql,Java,Sql,Hibernate,Hql,我有一个HQL查询,如下所示: String query = "from records where lastUpdateTime >=:startDate " + "AND lastUpdateTime < :endDate"; 我需要在版本上使用max,但我对HQL的了解让我失望。您可能需要这样的东西: String query = "from records r where r.lastUpdateTime >=:startDate " +

我有一个HQL查询,如下所示:

String query = "from records where lastUpdateTime >=:startDate " +
               "AND lastUpdateTime < :endDate";

我需要在版本上使用max,但我对HQL的了解让我失望。

您可能需要这样的东西:

String query = "from records r where r.lastUpdateTime >=:startDate " +
               "AND r.lastUpdateTime < :endDate AND r.version = (select max(rec.version) from record rec where rec.id = r.id)";
String query = "from records r where r.lastUpdateTime >=:startDate " +
               "AND r.lastUpdateTime < :endDate AND r.version = (select max(rec.version) from record rec where rec.id = r.id)";