我在项目中使用eclipselink作为jpa提供者和spring数据jpa。我尝试使用本机sql查询构造规范。代码
public static Specification<AbstractDocumentPermission> userIdEqual(long userId) {
return (root, query, cb) -> {
org.eclipse.persistence.expressions.Expression expression = new ExpressionBuilder()
.sql("SELECT ? UNION ALL SELECT ? UNION ALL SELECT ?", Arrays.asList(1, 2, 3));
return root.get("id").in(expression);
};
代码生成Internal Exception: org.postgresql.util.PSQLException
并告诉我
.... WHERE (id IN (SELECT UNION ALL SELECT ? UNION ALL SELECT ??))
这里有什么问题?