6
以下のJPQLクエリに対して条件ビルダーAPIクエリを記述する方法は? 私はJPA 2.2
を使用しています。アップセットJPA Criteria builder IN句クエリ
SELECT *
FROM Employee e
WHERE e.Parent IN ('John','Raj')
ORDER BY e.Parent
以下のJPQLクエリに対して条件ビルダーAPIクエリを記述する方法は? 私はJPA 2.2
を使用しています。アップセットJPA Criteria builder 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();
私はこのケースでPredicate
.. in
述語を受け入れ、ここでオーバーロードさCriteriaQuery.where
方法を使用していました。
ありがとうございます! – Raj
Offtopic:私の1つの答えを編集していただきありがとうございます;-) – GhostCat