org.springframework.dao.InvalidDataAccessApiUsageException:该位置为[2]的参数不存在

时间:2019-06-28 18:10:00

标签: java mysql spring-boot spring-data-jpa

我正在尝试运行a。我在其中查询的SpringBoot中的API程序。 以前它显示parseException错误,但我已解决,但现在出现了这个新错误。 这个问题从未出现在其他查询中,我不知道问题是什么。请帮忙。

@Query(value="SELECT * FROM tbl_abc WHERE UserId = ?1 AND EndTime != '' AND StartDate BETWEEN '?2' AND '?3' ORDER BY StartDate ASC,StartTime",nativeQuery = true)
List<abc> getabctLog(int userId, String fromdate1, String todate1);

我希望从表中获得查询中给出的那些条件的详细信息列表。但是我收到了:

org.springframework.dao.InvalidDataAccessApiUsageException: Parameter with that position [2] did not exist; nested exception is java.lang.IllegalArgumentException: Parameter with that position [2] did not exist

1 个答案:

答案 0 :(得分:0)

我认为您的StartDate的类型为Date,但您放入了String。您需要更改代码:

@Query(value="SELECT * FROM tbl_abc WHERE UserId = ?1 AND EndTime != '' AND StartDate BETWEEN '?2' AND '?3' ORDER BY StartDate ASC,StartTime",nativeQuery = true)
List<abc> getabctLog(int userId, Date fromdate1, Date todate1);