Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Desafio resolvido

imports.*

public interface SerieRepository extends JpaRepository<Serie, Long> {
    List<Serie> findByTotalTemporadasLessThanEqualAndAvaliacaoGreaterThanEqual(int numeroTemporadas, double avaliacao);
}
private void buscarSeriesMaxTemporadaEAvaliacao() {
        System.out.println("Informe o numero maximo de temporadas");
        var numeroTemporadas = leitura.nextInt();

        System.out.println("Informe a avaliação: ");
        var avaliacao = leitura.nextDouble();

        List<Serie> series = repository.findByTotalTemporadasLessThanEqualAndAvaliacaoGreaterThanEqual(numeroTemporadas, avaliacao);
        series.forEach(s -> {
            System.out.printf("%s avaliação: %.2f\n", s.getTitulo(), s.getAvaliacao());
        });
    }
2 respostas

Oi, Aldeny! Como vai?

Achei bem interessante como você utilizou o método derivado do Spring Data JPA para combinar dois critérios na busca (LessThanEqual e GreaterThanEqual). Isso mostra que você entendeu bem a proposta da consulta dinâmica e conseguiu aplicar de forma clara e objetiva na sua lógica.

Uma dica interessante para o futuro é utilizar ordenação nos resultados, o que pode deixar suas consultas ainda mais úteis. Veja este exemplo:


List<Serie> series = repository
    .findByTotalTemporadasLessThanEqualAndAvaliacaoGreaterThanEqualOrderByAvaliacaoDesc(numeroTemporadas, avaliacao);

Esse código retorna as séries filtradas e já as ordena pela avaliação em ordem decrescente, facilitando a visualização das melhores.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
solução!

Obrigado!