参看易百教程:https://www.yiibai.com/jpa/jpa_jpql.html
JPQL也支持子查询,在where 或 having 子句中可以包含另一个查询。当子查询返回多于 1 个结果集时,它常出现在 any、all、exist s表达式中用于集合匹配查询。它们的用法与SQL语句基本相同。
@Test
public void testSubQuery(){
//查询所有 Customer 的 lastName 为 YY 的 Order
Stringjpql= "SELECT o FROM Order o "
+"WHERE o.customer = (SELECT c FROMCustomer c WHERE c.lastName = ?)";
Queryquery= entityManager.createQuery(jpql).setParameter(1, "YY");
Listorders= query.getResultList();
System.out.println(orders.size());
}