如何使用 findByParentCode 从 OneToMany 单向 Parent 获取分页 child 列表
How to get paginated child lists from OneToMany unidrectional Parent using findByParentCode
我有一个单向 parent - child.
我正在使用 parent.
获取 child 列表
我如何在 child 条记录的列表上应用分页?
例如:Parent P 有 Child C1,C2,C3..C20
我做的是 findByParentCode(Code) returns Parent object 和 Child 列表。但我需要获取 child.
的分页列表
请帮忙
您可以使用子对象中的父代码字段查询子对象的 table,即父 table 的外键,例如:
Page<Child> findByParentId(Long parentId, Pageable pageRequest);
您可以使用 Spring Data JPA 分页支持对查询结果进行分页。如果需要,使用页码、大小和排序创建 PageRequest class 的实例,并迭代页面,如下所示
Page<Child> page = null;
do {
Pageable nextPageable = page != null ? page.nextPageable() : new PageRequest(0, pageSize);
page = childService.findByParentId(parentId, nextPageable);
processPage(page);
} while (page.hasNext());
我已经为子列表(不知道它的父列表)做了分页
Query query = getEntityManager().createQuery(
"select s.chilidList from Parent s where s.ParentCode = :ParentCode");
query.setParameter("ParentCode", ParentCode);
query.setFirstResult(pageIndex);
query.setMaxResults(pageSize);
我有一个单向 parent - child.
我正在使用 parent.
获取 child 列表
我如何在 child 条记录的列表上应用分页?
例如:Parent P 有 Child C1,C2,C3..C20
我做的是 findByParentCode(Code) returns Parent object 和 Child 列表。但我需要获取 child.
的分页列表
请帮忙
您可以使用子对象中的父代码字段查询子对象的 table,即父 table 的外键,例如:
Page<Child> findByParentId(Long parentId, Pageable pageRequest);
您可以使用 Spring Data JPA 分页支持对查询结果进行分页。如果需要,使用页码、大小和排序创建 PageRequest class 的实例,并迭代页面,如下所示
Page<Child> page = null;
do {
Pageable nextPageable = page != null ? page.nextPageable() : new PageRequest(0, pageSize);
page = childService.findByParentId(parentId, nextPageable);
processPage(page);
} while (page.hasNext());
我已经为子列表(不知道它的父列表)做了分页
Query query = getEntityManager().createQuery(
"select s.chilidList from Parent s where s.ParentCode = :ParentCode");
query.setParameter("ParentCode", ParentCode);
query.setFirstResult(pageIndex);
query.setMaxResults(pageSize);