Skip to content
This repository was archived by the owner on Aug 1, 2025. It is now read-only.

Commit 54141bf

Browse files
committed
Fix bug with paginateAndFetch method
1 parent 425912b commit 54141bf

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/main/java/org/brapi/test/BrAPITestServer/repository/BrAPIRepositoryImpl.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,17 +84,17 @@ public Page<T> findAllBySearchPaginatingWithFetches(SearchQueryBuilder<T> search
8484
validatePageNumber(pageReq, totalCount);
8585

8686
// First grab all the ids of the entities according to the criteria of the searchQuery, paging as specified in the pageReq.
87-
List<String> content = getPagedContentIdsOnly(searchQuery, pageReq);
87+
List<UUID> content = getPagedContentIdsOnly(searchQuery, pageReq);
8888

89-
Page<String> pagedIds = new PageImpl<>(content, pageReq, totalCount);
89+
Page<UUID> pagedIds = new PageImpl<>(content, pageReq, totalCount);
9090

9191
// Now execute another query to fetch all the entities requested in the searchQuery, passing the pagedIds found
9292
// in the previous query. We will fetch them utilizing the ids from the paged query, avoiding the hibernate
9393
// warning of paging while fetching and consuming considerably less memory.
9494
return findAllBySearchUsingIds(searchQuery, pagedIds, pageReq);
9595
}
9696

97-
private Page<T> findAllBySearchUsingIds(SearchQueryBuilder<T> searchQuery, Page<String> pagedIds, Pageable pageReq) {
97+
private Page<T> findAllBySearchUsingIds(SearchQueryBuilder<T> searchQuery, Page<UUID> pagedIds, Pageable pageReq) {
9898
List<T> entities = searchEntitiesWithIds(searchQuery, pagedIds.toList());
9999

100100
return new PageImpl<>(entities, pageReq, pagedIds.getTotalElements());
@@ -182,7 +182,7 @@ private List<T> getPagedContent(SearchQueryBuilder<T> searchQuery, Pageable page
182182
return query.getResultList();
183183
}
184184

185-
private List<T> searchEntitiesWithIds(SearchQueryBuilder<T> searchQuery, List<String> ids) {
185+
private List<T> searchEntitiesWithIds(SearchQueryBuilder<T> searchQuery, List<UUID> ids) {
186186
searchQuery.appendList(ids.stream().map(Object::toString).collect(Collectors.toList()), "id");
187187

188188
TypedQuery<T> query = entityManager.createQuery(searchQuery.getQuery(), searchQuery.getClazz());
@@ -206,9 +206,9 @@ private void setQueryParams(TypedQuery<T> query, SearchQueryBuilder<T> searchQue
206206
}
207207
}
208208

209-
private List<String> getPagedContentIdsOnly(SearchQueryBuilder<T> searchQuery, Pageable pageReq) {
209+
private List<UUID> getPagedContentIdsOnly(SearchQueryBuilder<T> searchQuery, Pageable pageReq) {
210210

211-
TypedQuery<String> query = entityManager.createQuery(searchQuery.getIdQuery(), String.class);
211+
TypedQuery<UUID> query = entityManager.createQuery(searchQuery.getIdQuery(), UUID.class);
212212

213213
for (Entry<String, Object> entry : searchQuery.getParams().entrySet()) {
214214
query.setParameter(entry.getKey(), entry.getValue());

0 commit comments

Comments
 (0)