- Adicionei primeiro a opção 8 no menu:
public void exibeMenu() {
var opcao = -1;
while (opcao != 0) {
var menu = """
1 - Buscar séries
2 - Buscar episódios
3 - Listar séries buscadas
4 - Buscar série por título
5 - Buscar série por ator
6 - Top 5 séries
7 - Buscar séries por categoria
8 - Buscar séries por número máximo de temporada
0 - Sair
""";
System.out.println(menu);
opcao = scanner.nextInt();
scanner.nextLine();
switch (opcao) {
case 1:
buscarSerieWeb();
break;
case 2:
buscarEpisodioPorSerie();
break;
case 3:
listarSeriesBuscadas();
break;
case 4:
buscarSeriePorTitulo();
break;
case 5:
buscarSeriePorAtor();
break;
case 6:
buscarTop5Series();
break;
case 7:
buscarSeriesPorCategoria();
break;
case 8:
buscarSeriePorNumeroMaximoDeTemporada();
break;
case 0:
System.out.println("Saindo...");
default:
System.out.println("Opção inválida");
}
}
}
- Logo após criei o método buscarSeriePorNumeroMaximoDeTemporada():
private void buscarSeriePorNumeroMaximoDeTemporada() {
System.out.println("Deseja buscar uma série de quantos episódios?");
var numeroTemporadas = scanner.nextInt();
System.out.println("Avaliações a partir de qual valor? ");
var numeroAvaliacao = scanner.nextDouble();
List<Serie> seriesBuscadas = repositorio.findByTotalTemporadasLessThanEqualAndAvaliacaoGreaterThanEqual(numeroTemporadas, numeroAvaliacao);
seriesBuscadas.forEach(s -> System.out.println("Série: " + s.getTitulo() + " Avaliação: " + s.getAvaliacao()));
}
- Finalizando com a criação do derived query na interface SerieRepository.
public interface SerieRepository extends JpaRepository<Serie, Long> {
List<Serie> findByTotalTemporadasLessThanEqualAndAvaliacaoGreaterThanEqual(int numeroTemporadas, double numeroAvaliacao);
}