首页 > 解决方案 > 使用 JPQL 获取最新数据

问题描述

我正在使用 Spring 一个 JPA 存储库,该存储库使用带有年份和月份列的表。我需要获取最新的可用数据。记录不按年份和月份排序(最大 id 不会返回最新数据)。在 SQL 中会是这样的:

WITH max_year AS(
SELECT month, MAX(year) as MostRecentYear FROM table
)
SELECT MAX(month), MostRecentYear FROM max_year;

我不能使用本机 JPA 查询方法,因为表列的名称与实体属性名称不同。

标签: mysqlspring-data-jpa

解决方案


最后,使用 JPA 本机方法有效:

POJO findFirstByOrderByYearDescMonthDesc();

但是,它返回整个对象,而不仅仅是年和月属性。


推荐阅读