该位置[1]的参数不存在;嵌套异常是java.lang.IllegalArgumentException:具有该位置[1]的参数不存在

时间:2018-09-30 21:05:30

标签: java spring spring-data-jpa jpql

我正在使用JPA存储库[使用Spring数据]来查询数据库,以便向我返回提交日期之间发生的事件的列表。我有带有以下变量的类,这些变量将用作控制器中的请求正文( @RequestBody ):

// 注意->我的日期必须是字符串

private String initialDate;
private String finalDate;

我将以下值传递给int 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

我的问题是,我在查询吗?我们的语法有误吗?

1 个答案:

答案 0 :(得分:0)

此损坏的原因处理字符串文字中的冒号已损坏。

一种解决方法是在查询中将冒号解释为绑定参数时消除它们。