JPA Criteria API:如何在嵌套集合中选择属性

|| 我有一个类别“ 0”和“ 1”的实体。
Customer
与它的从属关系成多对多的双向关系。我需要找到按名称和从属名称过滤的客户。 在JPQL中已完成以下操作:
select c join fetch c.dependants d from Customer c where c.name like
\'foo\' and d.name like \'foo\'
如何使用JPA标准查询执行相同的操作?     
已邀请:
摘自JPA规范第6.5.4节
CriteriaQuery<Department> q = cb.createQuery(Department.class);
Root<Department> d = q.from(Department.class);
d.fetch(Department_.employees, JoinType.LEFT);
q.where(cb.equal(d.get(Department_.deptno), 1)).select(d);
此查询等效于以下Java Persistence查询语言查询:
SELECT d
FROM Department d LEFT JOIN FETCH d.employees
WHERE d.deptno = 1
这是我不提取而做的
CriteriaQuery<Department> q = cb.createQuery(Department.class);
Root<Department> dept = q.from(Department.class);
Join<Department,Employee> emp = d.join(Department_.employees);
q.where(cb.equal(emp.get(Employee_.name),\"edalorzo\"));
提取是联接的一种,因此我想您也可以尝试一下。     

要回复问题请先登录注册