首页 > 解决方案 > 使用 JPA 查询方法来搜索特定日期(日和月)的记录

问题描述

我正在尝试在一个数据库上实现一个restful API的搜索操作,其中包含带有发布日期的电影记录。数据库的格式是这样的:

title              running time    language    release date      
                   
Traffic shop       104             en          12/15/1995
Nocturnal men      101             en          12/22/1995
Exit front         127             en          12/22/1996
The last paradise  106             en          02/10/1995

,我需要在“12/22”期间发布所有电影,所以它需要返回:

Nocturnal men      101             en          12/22/1995
Exit front         127             en          12/22/1996

,即使它们是在两个不同的年份发布的。我不确定这是否可以使用 JPA 中的查询方法来完成,但我仍在学习。

标签: javaspring-bootjpa

解决方案


您可以使用day()andmonth()函数从日期中提取数据以进行比较

@Query("SELECT m from Movie m WHERE day(m.releaseDate) = ?1 and month(m.releaseDate) = ?2")
List<Movie> getMovieByDayAndMonth(int day, int month);

推荐阅读