0

如何使用 JPA Criteria 编写以下 MySQL 查询?

select * from deptors where customerId in 
   (select customerId from address where zipcode="12345-6789")
and gender="male";

我已阅读http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/Criteria#Subquery和许多 stackoverflow 线程,包括JPA 2.0、Criteria API、Subqueries、In Expressions。但我就是不明白。感谢您的帮助。

4

1 回答 1

0

就像是:

CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Deptors> cq = cb.createQuery(Deptors.class);
Root<Deptors> c = cq.from(Deptors.class);

Subquery<Address> subquery = cq.subquery(Address.class);
Root<Address> a = subquery.from(Address.class);

但是,我宁愿建议使用 JPQL 构建此查询和/或将其作为 NamedQuery 外部化到您的实体中。

塞巴斯蒂安

于 2012-10-09T07:40:46.183 回答