我创建了一个JPA查询,用于在Spring Boot中从oracle数据库读取视图。如果我像POLICY_REF IN('A123I'(那样将文字值设置为POLICY_REF,则View将返回策略,则它会起作用。在日志中
ids:[A123I]查询:[A123I]
否则,如果我设置POLICY_REF IN(:ids(,它将返回空
ids:[A123I]查询:[]
ids值来自设置为-ids:[A123I]的UI
有什么建议吗?
public HashSet<String> memberExists(final List<String> ids) {
log.info("ids: "+ids);
return new HashSet<String>(
this.testJdbcTemplate
.query("select TRIM(POLICY_REF) from LSCHEMA.POLICY_VIEW where POLICY_REF in (:ids)",
Collections.singletonMap("ids", ids), this.rowMapper));
}
public boolean memberExists(final String id) {
return this.memberExists(Collections.singletonList(id))
.contains(id);
}
}
尝试删除在in子句之后放入查询中的((
也许这个问题将有助于将IN子句列表添加到JPA查询