spring数据查询在30天内选择可分页条目的记录

时间:2018-03-19 07:41:29

标签: mysql spring spring-data-jpa

我正在使用spring数据,我正在尝试编写一个在30天内返回所有条目的查询。以下是我的存储库代码

@Query(value = "SELECT rp FROM RequestPipeline rp JOIN FETCH rp.requestAudits where rp.createdAt >= :date", 
    countQuery="SELECT count(*) FROM RequestPipeline rp JOIN rp.requestAudits where rp.createdAt >= :date")
Page<RequestPipeline> findAllRequests(Pageable pageable, @Param("date") Timestamp date);

如何在30天内获得记录?任何人都可以帮助我

1 个答案:

答案 0 :(得分:1)

您可以使用CURRENT_DATE expression并减去30,从而产生以下查询:

SELECT rp FROM RequestPipeline rp JOIN FETCH rp.requestAudits where rp.createdAt >= CURRENT_DATE - 30

旁注:在这种情况下,您不应该需要显式计数查询。 Spring Data应该能够得到它。