jpa CriteriaQuery exists 查询

  

   原文

   https://stackoverflow.com/questions/13859780/building-a-query-using-not-exists-in-jpa-criteria-api

 

SELECT table1 
FROM   table1 table1 
WHERE  NOT EXISTS (SELECT table2 
                   FROM   table2 table2 
                   WHERE  table2.name = table1.name 
                          AND table2.education = table1.education 
                          AND table2.age = table1.age) 
       AND table1.name = 'san' 
       AND table1.age = '10'; 

 

    以上SQL用CriteriaQuery 可以表示如下

 

CriteriaBuilder cb = mediationEntityManager.getCriteriaBuilder();
CriteriaQuery  cq = cb.createQuery(Table1.class);
Root table1 = cq.from(Table1.class);
cq.select(table1)

Subquery subquery =  cq.subquery(Table2.class)
Root table2 = subquery.from(Table2.class)
subquery.select(table2)
cq.where(cb.not(cb.exists(subquery)))
TypedQuery typedQuery = mediationEntityManager.createQuery(cq); 
List resultList = typedQuery.getResultList();

有任何问题请联系微信 如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!

 


有任何问题请联系微信 

如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!
  

 

你可能感兴趣的:(技巧)