休眠条件 api '选择在' [英] Hibernate criteria api 'Select in'
本文介绍了休眠条件 api '选择在'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以使用 hibernate critiria api 创建一个select in"查询?
is it possible to create a 'select in'-query with the hibernate critiria api ?
示例:我在 1:n 关系中有两个表,公司和部门
Example : I have two tables in a 1:n relation, company and department
select * from company c where c.id in (select company_id from department d
where d.departmentname = 'HR' and d.location = 'xyz')
推荐答案
你可以使用这个 DetachedCriteria
You can use for this DetachedCriteria
DetachedCriteria subCriteria= DetachedCriteria.forClass(Departament.class);
subCriteria.add(Property.forName("departmentname ").eq("HR"));
subCriteria.add(Property.forName("location ").eq("xyz"));
subCriteria.setProjection(Projections.property("company_id "));
DetachedCriteria criteria = DetachedCriteria.forClass(Company.class);
criteria.add(Property.forName("id").in(subCriteria));
这篇关于休眠条件 api '选择在'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文