我已经尝试过以下查询:
@Query(value = "SELECT distinct `id`,`customer name`,`customer number` FROM My_Data WHERE `customer number` like '%"
+ ":customerNumber" + "%'", nativeQuery = true)
public List<MyData> findDistinctByCustomerNumberContainingIgnoreCase(
@Param("customerNumber") String customerNumber);
当我运行这个
我得到:
java.lang.IllegalArgumentException:具有该位置的参数[1]
不存在异常。
由于表格的某些限制,我想要一个本机查询。
最佳答案
您已将占位符放在括号内,并且引擎将其视为纯字符串。
如果仅用%括起来,引擎将知道解析在解析的查询中添加括号的情况:
@Query(value = "SELECT distinct `id`,`customer name`,`customer number` FROM My_Data
WHERE `customer number` like %:customerNumber%", nativeQuery = true)