6
如何編寫條件構建器API查詢以下給出的JPQL查詢?我正在使用JPA 2.2
。JPA Criteria構建器IN子句查詢
SELECT *
FROM Employee e
WHERE e.Parent IN ('John','Raj')
ORDER BY e.Parent
如何編寫條件構建器API查詢以下給出的JPQL查詢?我正在使用JPA 2.2
。JPA Criteria構建器IN子句查詢
SELECT *
FROM Employee e
WHERE e.Parent IN ('John','Raj')
ORDER BY e.Parent
此標準建立應該做的伎倆:
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Employee> q = cb.createQuery(Employee.class);
Root<Employee> root = q.from(Employee.class);
q.select(root);
List<String> parentList = Arrays.asList(new String[]{"John", "Raj"});
Expression<String> parentExpression = root.get(Employee_.Parent);
Predicate parentPredicate = parentExpression.in(parentList);
q.where(parentPredicate);
q.orderBy(cb.asc(root.get(Employee_.Parent));
q.getResultList();
我用這裏的重載CriteriaQuery.where
方法,它接受一個Predicate
..一個in
謂詞在這種情況下。
非常感謝你! – Raj
Offtopic:感謝編輯我的一個答案;-) – GhostCat