所以我有一个像这样的HQL查询:

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


我需要更改它,以便仅检索两个日期之间的记录的最新版本。

所以我有:

ID | VERSION | other records | LASTUPDATETIME


我需要在VERSION上使用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)";

10-07 16:21