使用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.<List<Project>>get("projects")));
cq.select(emp);
または、 Path
変数:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery(Employee.class);
Root emp = cq.from(Employee.class);
パス<List<Project>> projects = emp.get("projects"));
cq.where(cb.isEmpty(projects);
cq.select(emp);
参考
javax.persistence.criteria
API
所属していません StackOverflow