Spring Data Jpa中的子查询

时间:2018-09-24 23:25:02

标签: jpa spring-data-jpa jpa-2.1

我在jpql中有这样的查询

select new com.example.CustomGroup(m.id, m.title, (select count(w.id) from MessageGroup x join x.messages w where w.readers.id <> ?1) ) 
from MessageGroup m join m.members u where u.id = ?1

但是不起作用,我知道jpa 2支持select中的子查询,但是找不到任何关于如何使用它的方法

1 个答案:

答案 0 :(得分:1)

JPA 2.2规范第4.6.16段的引用:

  

子查询可以在WHERE或HAVING子句中使用。[66]

     

[66]在此版本中,子查询仅限于WHERE和HAVING子句。在本规范的更高版本中,将考虑对FROM子句中子查询的支持。