querydsl将多个查询合并为一个

时间:2014-05-09 22:17:00

标签: jpa eclipselink querydsl

假设我有一个这样的课程:

    @Entity
    public class Employee{
        private Long Id;
        private String jobTitle;
        private String firstName;

        ... getters and setters
    }

是否可以进行单个查询并返回多组数据?假设我的存储库中有一个方法签名,如下所示:

public EmployeeQueryResult getEmployeeQuery(Long currentUserId, String jobTitle, List<String> names);

我希望使用此方法通过id获取当前员工,所有具有特定职位的员工以及所有具有姓名的员工:

public class EmployeeQueryResults{
    private Employee currentEmployee;
    private List<Employee> employeesWithJobTitle;
    private List<Employee> employeesWithName;

    ...
}

我问是否可以使用queryDSL基本上进行3个单独的查询并将它们组合在一起,以便我可以在unioned列表上使用分页。

1 个答案:

答案 0 :(得分:4)

  

我问是否可以使用queryDSL基本上进行3个单独的查询并将它们组合在一起,这样我就可以在联合列表上使用分页。

不,Querydsl无法做到这一点。您可以编写查询,使其返回至少与其中一个约束匹配的Employee实例,但结果将是单个Employee列表。