Назад к задачам
Junior — Middle+
5

Поиск пользователей по заданному фильтру с игнорированием пустых параметров

Компании, где спрашивали:

DCloud
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо реализовать метод searchByCriteria в классе UserService, который ищет пользователей в базе согласно переданному объекту UserFilter. При построении запроса следует:

  • пропускать поля фильтра, которые равны null или пустой строке;
  • если заданы оба поля (firstName и lastName) – применять их совместно;
  • использовать возможности Spring Data JPA через UserRepository;
  • вернуть список всех найденных сущностей User.
public class UserService {

  private final UserRepository userRepo;

  public List<User> searchByCriteria(UserFilter filter) {
  }
}

@RequiredArgsConstructor
@Getter
public class UserFilter {

  private final String firstName;
  private final String lastName;
}

@Entity
public class User {

  @Id
  private Long id;
  private String firstName;
  private String lastName;
}

public interface UserRepository extends JpaRepository<User, Long> {
}