này tiêu chí thiết lập nên làm các trick:
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();
Tôi đã sử dụng quá tải CriteriaQuery.where
phương pháp ở đây mà chấp nhận một Predicate
.. một vị in
trong trường hợp này.
Nguồn
2017-03-01 12:15:24
Cảm ơn bạn rất nhiều !! – Raj
Offtopic: cảm ơn bạn đã chỉnh sửa một câu trả lời của tôi ;-) – GhostCat