我们将 EcipseLink 与基本 JPA 方法一起使用,但我正在尝试解决有关大型结果集的问题,因此我正在考虑尝试 DataReadQuery 和流式结果集。这是我的最终目标,但我无法运行基本查询。网上的文档似乎相当稀疏,所以我主要是即兴发挥。
Session session = manager.unwrap(Session.class);
DataReadQuery query = new DataReadQuery("select first_name from user_table where user_id = ?");
List<String> arguments = new ArrayList<>();
arguments.add("Bob");
session.executeQuery(query, arguments);
这是一个本机查询,而不是 JPQL(如果这很重要的话)。
它抛出:提供给查询执行的参数数量与查询定义中的参数数量不匹配。只有 1 个参数。看来我显然没有正确传递值。
您正在做的事情存在两个潜在问题。
请参阅https://docs.oracle.com/cd/E15523_01/web.1111/b32441/qrybas.htm#CIHEBFID了解示例