【问题标题】:Spring Data JPA NativeQuery like searchSpring Data JPA NativeQuery 类似搜索
【发布时间】:2018-05-20 05:17:34
【问题描述】:

我试过这个查询:

@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] 不存在异常。

由于我的表有一些限制,我想要一个本机查询。

【问题讨论】:

  • 显示方法签名
  • @MaciejKowalski 现在用方法签名更新了问题。

标签: java spring orm spring-data-jpa


【解决方案1】:

您已将占位符放在括号内,引擎会将其视为纯字符串。

如果你简单地用 % 包围它,引擎会知道在解析后的查询中添加括号:

@Query(value = "SELECT distinct `id`,`customer name`,`customer number` FROM My_Data 
       WHERE `customer number` like %:customerNumber%", nativeQuery = true) 

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 2017-11-10
    • 1970-01-01
    • 2019-06-08
    • 2018-07-25
    相关资源
    最近更新 更多