我的用户表上有一个简单的Spring JPA查询方法,可以通过PK一次返回多个用户:
List<AppUser> findByUserIdIn(Collection<Long> userIds);
当我用2个长号的集合调用它时,我收到此错误:
java.sql.SQLSyntaxErrorException: ORA-00907: missing right parenthesis
EclipseLink生成的查询是:
SELECT
USER_ID, EMAIL_ADDRESS, EXEMPT, FIRST_NAME, LAST_NAME, USER_ACTIVE
FROM
APP_USER
WHERE
(USER_ID IN ((?, ?)))
当我将其复制到SQL Developer并为参数添加两个long值时,我得到了相同的错误。如果我删除值周围的额外括号,如下所示:
(USER_ID IN (?, ?))
查询运行正常。
问题: