【发布时间】:2019-03-06 00:50:24
【问题描述】:
我正在使用 JPA 存储库[使用 Spring Data] 来查询我的数据库,以便返回我提交日期之间发生的事件列表。我有以下变量的类,这些变量将用作控制器中的请求正文(@RequestBody):
//注意 -> 我的日期必须是字符串
private String initialDate;
private String finalDate;
我在 POSTMAN 中传递以下值
{
"initialDate":"2018-09-29",
"finalDate":"2018-09-30"
}
这是我对应的Model类
private String initialDate;
private String finalDate;
private String moreInfo;
private String SomeMoreInfo;
我希望 API 向我返回这些日期之间的信息,为此我在我的存储库层中使用以下查询。
@Query("SELECT u from Kitchen u WHERE STR_TO_DATE(u.date, '%a, %c %b %Y %k:%i:%s') between :initial_day AND :final_day")
List<Cozinha> findPlateByDate(@Param("initial_day") String initial_day,@Param("final_day") String final_day);
POSTMAN 中出现以下错误 [如问题标题中所述]
"message": "Parameter with that position [1] did not exist; nested exception is java.lang.IllegalArgumentException: Parameter with that position [1] did not exist",
netbeans服务器控制台出现如下错误
Caused by: java.lang.IllegalArgumentException: Parameter with that position [1] did not exist
我的问题是,我做的查询对吗?我们的语法错了吗?
【问题讨论】:
-
仅供参考 JPQL 没有这样的功能
STR_TO_DATE。 -
我有一种预感,这可能是 Spring Data JPA 中的一个错误。您能否发布完整的堆栈跟踪以及您使用的是哪个版本的 Spring Data JPA?
标签: java spring spring-data-jpa jpql