Lets say I have the following repository:
public interface UserRepository extends JpaRepository<User, Long> {
@Query("select u from User u")
Stream<User> streamAllPaged(Pageable pageable);
}
And I want to perform a search:
public Page<User> findAllUsers(Pageable page) {
Page<User> page = null;
try (Stream<User> users = userRepository.streamAllPaged(page)) {
Set<User> users = users.filter(u -> user.getName().equals("foo"))
.collect(Collectors.toSet());
//create page from set?
}
}
Obviously I could use a sublist and manually insert page sizes etc but I guess that there should be a more "standard" way to do this?