【问题标题】:Hibernate criteria api 'Select in'休眠条件 api '选择在'
【发布时间】:2011-05-05 01:45:29
【问题描述】:

是否可以使用 hibernate critiria api 创建一个“选择输入”查询?

示例: 我在 1:n 关系中有两个表,公司和部门

select * from company c where c.id in (select company_id from department d 
where d.departmentname = 'HR' and d.location = 'xyz')

【问题讨论】:

    标签: hibernate subquery hibernate-criteria


    【解决方案1】:

    你可以使用这个 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));
    

    【讨论】:

      猜你喜欢
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      相关资源
      最近更新 更多