将 mysql 查询转换为 spring JPA 查询

converting mysql query into spring JPA query

我有以下 mysql 查询,我想将其转换为 SPring JPA。

SELECT * FROM SERVER s WHERE s.COMPLETE_DT BETWEEN (DATE_SUB('2014-11-07 16:30:20', INTERVAL 20 MINUTE)) 
AND (DATE_SUB('2014-11-07 16:30:20', INTERVAL 10 MINUTE)) 

我是按照下面的方式做的

@Query("SELECT s FROM Server s WHERE s.completeDt BETWEEN (DATE_SUB(%?1%, INTERVAL 20 MINUTE)) AND (DATE_SUB(%?1%, INTERVAL 10 MINUTE)))
List<Server> findDate(Date dt);

但出现错误

"Interval" not recognized

使用 Spring 数据,您可以使用如下查询:

List<Server> findByCompleteDtBetween(final LocalDateTime startDate, final LocalDateTime endDate);

并在您的服务中计算开始日期和结束日期以符合目标时间间隔。

查看更多:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation