首页 > 解决方案 > Spring Data JPA - 规范

问题描述

我有一个 SQL 原生查询。我想将它转换为 Specification 对象,以便我可以传递附加条件和 Pageable 对象。

select * from tableA where (colA, colB) in
    (select colA, min(colB) from tableA
        group by colA
     )

我想实现一个子查询,min 函数。

另外,有人可以建议我在哪里可以找到这些弹簧数据 JPA 规范的适当文档吗?

标签: sqlspringspring-data-jpaspecifications

解决方案


不,在 JPQL 查询的 select 子句中不可能有子查询。

您可以将 WHERE 和 HAVING 子句与 ANY、SOME、ALL、IN、EXIST 表达式一起使用

SELECT a
FROM A a
WHERE a.val = (SELECT b.someval 
               FROM B b 
               WHERE b.someotherval=3)

推荐阅读