Использование критериев JPA2 API без метамодели в свойстве списка
-
25-09-2019 - |
Вопрос
Как я могу сформулировать следующие запросы критериев JPA2 без использования классов метамодели:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Employee> cq = cb.createQuery(Employee.class);
Root<Employee> emp = cq.from(Employee.class);
cq.where(cb.isEmpty(emp.get(Employee_.projects)));
cq.select(emp);
Я хотел бы использовать:
cq.where(cb.isEmpty(emp.get("projects")));
Но я не могу выяснить, как преобразовать путь к выражению, который необходим CB.isempty ...
Спасибо.
Решение
Попробуй это:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery(Employee.class);
Root emp = cq.from(Employee.class);
cq.where(cb.isEmpty(emp.u003CListu003CProject> >.get("projects")));
cq.select(emp);
Или, используя Path
Переменная:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery(Employee.class);
Root emp = cq.from(Employee.class);
Дорожка u003CListu003CProject> >. projects = emp.get("projects"));
cq.where(cb.isEmpty(projects);
cq.select(emp);
Ссылка
javax.persistence.criteria
API.
Не связан с StackOverflow