Kri*_*hna 6 java mysql spring-data-jpa spring-boot
我正在尝试使用 Spring Boot 中的 MySQL 本机查询在 dateFrom 和当前日期之间使用选择查询来获取表数据作为列表。而MySQL数据库字段数据类型是String。
以下是存储库中的查询:
@Query(value = "select * from Account where DATETIMESTAMP >= :dateFrom AND DATETIMESTAMP < :DATE_FORMAT(curdate(), '%d/%m/%Y')", nativeQuery = true)
List<Account> findByDate(@Param("dateFrom") String dateFrom);
Run Code Online (Sandbox Code Playgroud)
在 Spring Boot 中上述查询出现以下错误:
Named parameter not bound : DATE_FORMAT; nested exception is org.hibernate.QueryException: Named parameter not bound : DATE_FORMAT
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我构建相同的查询吗?
如果您正在使用 JPQL 并且仍然收到此错误,那么您可能在中间有一个空格,例如
where id = : myId
Run Code Online (Sandbox Code Playgroud)
应该
where id = :myId
Run Code Online (Sandbox Code Playgroud)
:从 中删除:DATE_FORMAT(curdate(), '%d/%m/%Y'). :用于绑定jpa查询中的参数。:前面的加法DATE_FORMAT使它JPA认为它是一个参数。所以最终的查询应该是
@Query(value = "select * from Account where DATETIMESTAMP >= :dateFrom AND DATETIMESTAMP < DATE_FORMAT(curdate(), '%d/%m/%Y')", nativeQuery = true)
List<Account> findByDate(@Param("dateFrom") String dateFrom);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40578 次 |
| 最近记录: |