【问题标题】:How to call a function using JPA Criteria API?如何使用 JPA Criteria API 调用函数?
【发布时间】:2021-10-04 16:03:33
【问题描述】:

我正在创建一个规范,它返回 db 函数 GET_RECORD_IDS 提供的 id 的记录。我在下面提供我的代码 sn-p-

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。我该如何完成这项工作?

【问题讨论】:

    标签: postgresql jpa criteria-api


    【解决方案1】:

    我发现下面的代码可以正常工作-

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-27
      • 2014-09-01
      • 2014-02-19
      • 2021-12-22
      • 2013-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多