【发布时间】:2021-12-24 13:43:04
【问题描述】:
我正在开发一个 Spring 项目和 MySQL 数据库系统。
我有一个包含“list_id”列的表 我在 Java 类中有这个列的变量。但是,如您所见,这两个名称是不同的:
@Column(name = "list_id")
private int listId;
我正在做这个查询:
@Query(value="select * from words_list WHERE list_id=listId", nativeQuery=true)
List<WordList> neverTested(@RequestParam("listId") int listId);
我尝试将它们放入控制器类
public List<WordList> neverTested(@RequestParam int listId){
return wordListRepository.neverTested(listId);
}
我总是收到这个错误:
java.sql.SQLSyntaxErrorException: Unknown column 'listId' in 'where clause'
即使我很确定自己的方式,但听起来问题出在名称上
【问题讨论】:
-
@RequestParam在 JpaRepository 中做什么?使用@Param将值绑定到sql 语句。此外,如果您有-parameters编译器标志,则不必使用@Param。