限制jpa关联查询的大小

限制jpa关联查询的大小,jpa,entity,resultset,Jpa,Entity,Resultset,以下查询获取部门中的所有员工: List<Employee> employees = em.find(Department.class,departmentid).getEmployeeList(); List employees=em.find(Department.class,departmentid).getEmployeeList(); 但是,我希望从上述查询中只获得有限数量的结果,而不是完整的结果集。是否可以通过上述查询 我知道em.createQuery()备选方案,

以下查询获取部门中的所有员工:

List<Employee> employees = em.find(Department.class,departmentid).getEmployeeList();
List employees=em.find(Department.class,departmentid).getEmployeeList();
但是,我希望从上述查询中只获得有限数量的结果,而不是完整的结果集。是否可以通过上述查询

我知道em.createQuery()备选方案,但我希望使用实体中现有的一对多关联,而不是编写新查询以获得有限的结果

任何帮助或想法都会很好。

使用JPQL

Select e from Department d join d.employees e where d.id = :id

并在查询上设置maxResults

否,这是不可能的。您必须使用查询并设置其最大结果。我也这么认为,您必须使用例如FetchType.Lazy,然后编写一个确实加入FETCH的查询来获取结果。如果不喜欢编写JPQL,可以创建命名查询或使用CriteriaBuilder。