我想知道是否可以在@Query注释中使用子查询(org.
springframework.data.jpa.repository.Query;)
我在第一个子查询parentesis上得到QuerySyntaxException.
这是我的查询
@Query(value="select c1 from ComplaintModel c1," + "(select c2.id,min(cb.termDate) minDate from ComplaintModel c2 " + "join c2.complaintBullets cb join cb.status s where s.code = ?1 " + "group by c2.id) tmp where c1.id = tmp.id order by tmp.minDate")
谢谢!
解决方法
不,在JPQL查询的select子句中不可能有子查询.
JPQL支持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)