@@ -65,21 +65,21 @@ public Page<T> findAllBySearchPaginatingWithFetches(SearchQueryBuilder<T> search
6565 applyUserId (searchQuery );
6666
6767 // First grab all the ids of the entities according to the criteria of the searchQuery, paging as specified in the pageReq.
68- List <UUID > content = getPagedContentIdsOnly (searchQuery , pageReq );
68+ List <String > content = getPagedContentIdsOnly (searchQuery , pageReq );
6969 Long totalCount = getTotalCount (searchQuery );
7070
71- Page <UUID > pagedIds = new PageImpl <>(content , pageReq , totalCount );
71+ Page <String > pagedIds = new PageImpl <>(content , pageReq , totalCount );
7272
7373 // Now execute another query to fetch all the entities requested in the searchQuery, passing the pagedIds found
7474 // in the previous query. We will fetch them utilizing the ids from the paged query, avoiding the hibernate
7575 // warning of paging while fetching and consuming considerably less memory.
7676 return findAllBySearchUsingIds (searchQuery , pagedIds , pageReq );
7777 }
7878
79- private Page <T > findAllBySearchUsingIds (SearchQueryBuilder <T > searchQuery , Page <UUID > pagedIds , Pageable pageReq ) {
79+ private Page <T > findAllBySearchUsingIds (SearchQueryBuilder <T > searchQuery , Page <String > pagedIds , Pageable pageReq ) {
8080 List <T > entities = searchEntitiesWithIds (searchQuery , pagedIds .toList ());
8181
82- return new PageImpl <>(entities , pageReq , pagedIds .getSize ());
82+ return new PageImpl <>(entities , pageReq , pagedIds .getTotalElements ());
8383 }
8484
8585 /**
@@ -162,7 +162,7 @@ private List<T> getPagedContent(SearchQueryBuilder<T> searchQuery, Pageable page
162162 return query .getResultList ();
163163 }
164164
165- private List <T > searchEntitiesWithIds (SearchQueryBuilder <T > searchQuery , List <UUID > ids ) {
165+ private List <T > searchEntitiesWithIds (SearchQueryBuilder <T > searchQuery , List <String > ids ) {
166166 searchQuery .appendList (ids .stream ().map (Object ::toString ).collect (Collectors .toList ()), "id" );
167167
168168 TypedQuery <T > query = entityManager .createQuery (searchQuery .getQuery (), searchQuery .getClazz ());
@@ -186,9 +186,9 @@ private void setQueryParams(TypedQuery<T> query, SearchQueryBuilder<T> searchQue
186186 }
187187 }
188188
189- private List <UUID > getPagedContentIdsOnly (SearchQueryBuilder <T > searchQuery , Pageable pageReq ) {
189+ private List <String > getPagedContentIdsOnly (SearchQueryBuilder <T > searchQuery , Pageable pageReq ) {
190190
191- TypedQuery <UUID > query = entityManager .createQuery (searchQuery .getIdQuery (), UUID .class );
191+ TypedQuery <String > query = entityManager .createQuery (searchQuery .getIdQuery (), String .class );
192192
193193 for (Entry <String , Object > entry : searchQuery .getParams ().entrySet ()) {
194194 query .setParameter (entry .getKey (), entry .getValue ());
0 commit comments