簡體   English   中英

如何使用JPA Criteria API做到這一點?

[英]How to do it with JPA Criteria API?

我如何在JPA2中進行條件查詢,這等效於使用和不使用元模型的JPQL?

SELECT p FROM Employee e JOIN e.phones p WHERE e=:empl
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Phone> criteriaQuery = cb.createQuery(Phone.class);
Root<Employee> employee = criteriaQuery.from(Employee.class);
CollectionJoin<Employee, Phone> phone = employee.join(Employee_.phones);
criteriaQuery.where(cb.equal(employee, empl);
criteriaQuery.select(phone);
TypedQuery<Phone> query = em.createQuery(criteriaQuery);
List<Phone> phones = query.getResultList();

就是說,我看不出要用上面可怕的,不可讀的代碼行替換一個簡單的,顯而易見的JPQL查詢。 標准查詢對於動態構造查詢很有用,但是JPQL適用於像您這樣的靜態查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM