JPA IN-Parameter

时间:2017-02-09 11:08:23

标签: jpa eclipselink

我在JPA(EclipseLink)

中创建了这样的查询
Query selectQuery = ... and SUBSTR(FOO, 0, 1) IN (?1)

Query selectQuery = ... and SUBSTR(FOO, 0, 1) IN ?1

我设置了这样的参数:

selectQuery.setParameter(1, Arrays.asList(new String[] { "T" }));

然而它告诉我 invalid column type

当我将查询更改为:

Query selectQuery = ... and SUBSTR(FOO, 0, 1) IN ('T')

它按预期工作。

我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

重复。无论如何,答案是在没有parantheses的情况下使用SUBSTR(FOO, 0, 1) IN ?1

答案 1 :(得分:0)

您正在将列表作为参数传递,因此您应该使用setParameterList方法:

selectQuery.setParameterList(1, Arrays.asList(new String[] { "T" }));