当前位置: 首页 > 知识库问答 >
问题:

如何在JPA本机查询中传递Lists参数List[重复]

唐涛
2023-03-14

我需要创建一个与以下示例相关的JPA本机查询:

select * from inventory where (server, product) in (('server1','product1'), ('server2','product2'), ('server1','product3'));

我创建了一个本机查询:

@Query(
            value = "select server, product from inventory where (server, product) in (:myList)",
            nativeQuery = true
    )
    List<Product> getProducts(List<List<String>> myList);
List<List<String>> myList= Arrays.asList(
    Arrays.asList("server1","product1"),
    Arrays.asList("server2","product2"),
    Arrays.asList("server1","product3")
);
List<Product> products = myRepository.getProducts(myList);
java.sql.SQLSyntaxErrorException: ORA-00920: invalid relational operator

共有1个答案

吴安和
2023-03-14

使用此:

@Query("select server, product from inventory where (server, product) in (:myList)",
        nativeQuery = true)
List<Product> getProducts(@Param("myList") List<List<String>> myList);
 类似资料:
  • 我有一个服务类,它通过使用< code > carrepository . retrieve cars()调用JPA存储库来接收汽车列表。存储库方法使用本地查询来检索记录。 现在我想传递参数< code > carrepository . retrieve cars(Long vinNo,Long serialNo)并在查询中使用它们。我假设我会需要一些东西作为准备好的陈述。然而,我不知道如何实现

  • 使用spring data JPA,我试图进行这种查询(它更复杂,这是一个简单的情况) 谢了!

  • 问题内容: 在我的HQL查询下方找到 该查询工作正常,但是在此情况下,我想传递userId的值,但无法弄清楚该怎么做。请帮助..!提前致谢..!! 问题答案: 我很简单地将参数添加到HQL __ 在这里,我有硬编码15您可以简单地使用变量代替它

  • 我们希望将字符串列表传递到名为JPA的本机查询中。我们如何才能做到这一点。它正在引发无效的查询参数异常。

  • 问题内容: 我正在尝试为我的应用程序编写查询,但是遇到了一些麻烦。我需要将数据库的一个字段作为参数传递,例如: 因为WHERE子句和ORDER BY子句是动态的,所以用户可以选择。 使用它没有用。 问题答案: JasperReports中 有两个用于参数引用的语法表达式: 和和 。 $ P {paramName}语法 主要用于设置 WHERE 输入参数值。替换算法是“智能”的,其实现使用java.

  • 当我按下搜索按钮时,出现以下错误: 发生错误: 异常[EclipseLink-4002](Eclipse持久性服务-2.3.2.v20111125-r10461):org。日食坚持不懈例外。DatabaseException内部异常:java。sql。SQLException:索引处缺少IN或OUT参数::1错误代码:17041调用:从CRM_DAILY_SHEET WHERE to_char(报