我正在尝试使用springboot jpa按照以下示例构建动态查询 在h2数据库控制台中效果很好,但通过jpa无法正常工作(查询验证失败)
查询在SQL和休眠模式下均适用
SELECT e.objectKey, COUNT(DISTINCT e.type) as cnt
FROM Event e WHERE e.type NOT IN (SELECT eventType FROM StreamEventMap WHERE
stage <> 'END') GROUP BY e.objectKey
但是现在我想使用COUNT的输出与另一个表进行比较,我只需要那些匹配的数字。
SELECT objectKey, cnt FROM
(SELECT e.objectKey, COUNT(DISTINCT e.type) as
cnt FROM Event e WHERE e.type IN (SELECT eventType FROM StreamEventMap WHERE
stage = 'END') GROUP BY e.objectKey)
WHERE cnt = (SELECT COUNT(eventType) FROM StreamEventMap WHERE stage='END')
所以我将其放在子查询中,并且它停止工作
我正在将JPARepository与@Query注释一起使用,还有没有更好的方法来做到这一点,例如criteriaQuery等?