如何使用 JPA Criteria API 调用函数?

How to call a function using JPA Criteria API?

我正在创建一个规范,其中 returns 数据库函数 GET_RECORD_IDS 提供的 ID 的记录。我在下面提供我的代码片段-

return ((root, query, criteriaBuilder) -> criteriaBuilder.and(root.get("id").in(
criteriaBuilder.function("GET_RECORD_IDS", List.class, criteriaBuilder.literal(str))))

但此代码导致错误 set-returning functions are not allowed in WHERE。我该怎么做?

我发现下面的代码让它工作-

return ((root, query, criteriaBuilder) -> criteriaBuilder.and(root.get("id").in(
criteriaBuilder.function("select id from GET_RECORD_IDS", List.class, criteriaBuilder.literal(str))))