codigo apresentou erro apos criar metodo topEpisodioPorTitulo, e não retorna os dados da avaliação
codigo apresentou erro apos criar metodo topEpisodioPorTitulo, e não retorna os dados da avaliação
Olá, Gleice! Tudo bem?
Infelizmente, sem ver o código em questão, fica um pouco difícil de diagnosticar que situação está causando o problema. No entanto, posso te dar algumas sugestões gerais que podem te ajudar a resolver o problema.
Verifique a sintaxe do método: O Spring Data JPA é muito sensível à sintaxe dos nomes dos métodos. Certifique-se de que o nome do método segue a convenção correta. Por exemplo, se você está tentando encontrar o episódio com a maior avaliação por título, o nome do método seria algo como findTopByTituloOrderByAvaliacaoDesc
.
Verifique a consulta: Se você está usando a anotação @Query
para definir a consulta, certifique-se de que a consulta está correta. Você pode testar a consulta diretamente no banco de dados para ver se ela retorna os resultados esperados.
Verifique os dados: Se a consulta está correta, mas você ainda não está recebendo os dados, pode ser que não existam dados que correspondam à consulta. Verifique se existem episódios com o título que você está procurando e se esses episódios têm avaliações.
Espero que essas sugestões te ajudem a resolver o problema, caso não, peço que compartilhe todo o seu projeto, para que eu realize testes e entenda o que está causando essa inconsistência.
Bons estudos!
Boa tarde Gleice.
Pelo seu código, sua rotina para os top episódios está faltando só adicionar a avaliação no printf mesmo.
O seu código está assim:
private void topEpsiodiosPorSerie() {
buscarSeriePorTitulo();
if (serieBusca.isPresent()) {
Serie serie = serieBusca.get();
List<Episodio> topEpisodios = repositorio.topEpisodiosPorSerie(serie);
topEpisodios.forEach(e ->
System.out.printf("Série: %s Temporada %s - Episódio %s - %s\n",
e.getSerie().getTitulo(), e.getTemporada(),
e.getNumeroEpisodio(), e.getTitulo(), e.getAvaliacao() ));
}
}
E para mostrar a avaliação deveria estar assim:
private void topEpsiodiosPorSerie() {
buscarSeriePorTitulo();
if (serieBusca.isPresent()) {
Serie serie = serieBusca.get();
List<Episodio> topEpisodios = repositorio.topEpisodiosPorSerie(serie);
topEpisodios.forEach(e ->
System.out.printf("Série: %s Temporada %s - Episódio %s - %s - Avaliação %s\n",
e.getSerie().getTitulo(), e.getTemporada(),
e.getNumeroEpisodio(), e.getTitulo(), e.getAvaliacao() ));
}
}
Faltou só o "Avaliação %s" no final da string ali.
era isso mesmo. obrigada