jpa--19.JPQL子查询

参看易百教程:https://www.yiibai.com/jpa/jpa_jpql.html

 

1      子查询

1.1  概念

JPQL也支持子查询,在where 或 having 子句中可以包含另一个查询。当子查询返回多于 1 个结果集时,它常出现在 any、all、exist s表达式中用于集合匹配查询。它们的用法与SQL语句基本相同。

 

1.2  测试代码

@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());
   }

jpa--19.JPQL子查询_第1张图片

 

 

你可能感兴趣的:(jpa--19.JPQL子查询)