Pessoal, não estão aparecendo meus episódios e temporadas no projeto web, segue as minhas classes:
Será que vou ter que popular o banco de dados?
Classe SerieRepository:
import br.com.alura.screenmatch.model.Categoria;
import br.com.alura.screenmatch.model.Episodio;
import br.com.alura.screenmatch.model.Serie;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
import java.util.Optional;
public interface SerieRepository extends JpaRepository<Serie, Long> {
Optional<Serie> findByTituloContainingIgnoreCase(String nomeSerie);
List<Serie> findByAtoresContainingIgnoreCaseAndAvaliacaoGreaterThanEqual(String nomeAtor, double avaliacao);
List<Serie> findTop5ByOrderByAvaliacaoDesc();
List<Serie> findByGenero(Categoria categoria);
List<Serie> findByTotalTemporadasLessThanEqualAndAvaliacaoGreaterThanEqual(int totalTemporadas, double avaliacao);
@Query ("select s from Serie s WHERE s.totalTemporadas <= :totalTemporadas AND s.avaliacao >= :avaliacao")
List<Serie> seriesPorTemporadaEAvaliacao(int totalTemporadas, double avaliacao);
@Query("SELECT e FROM Serie s JOIN s.episodios e WHERE e.titulo IlIKE %:trechoEpisodio%")
List<Episodio> episodiosPorTrecho (String trechoEpisodio);
@Query("SELECT e FROM Serie s JOIN s.episodios e WHERE s = :serie ORDER BY e.avaliacao DESC LIMIT 5 ")
List<Episodio> topEpisodiosPorSerie(Serie serie);
@Query("SELECT e FROM Serie s JOIN s.episodios e WHERE s = :serie AND YEAR(e.dataLancamento) >= :anoLancamento" )
List<Episodio> episodiosPorSerieEAno(Serie serie, int anoLancamento);
List<Serie> findTop5ByOrderByEpisodiosDataLancamentoDesc();
@Query("SELECT e FROM Serie s JOIN s.episodios e WHERE s.id = :id AND e.temporada = :numero")
List<Episodio> obterEpisodiosPorTemporada(Long id, Long numero);
}
Classe SerieService:
import br.com.alura.screenmatch.model.Categoria;
import br.com.alura.screenmatch.model.Episodio;
import br.com.alura.screenmatch.model.Serie;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
import java.util.Optional;
public interface SerieRepository extends JpaRepository<Serie, Long> {
Optional<Serie> findByTituloContainingIgnoreCase(String nomeSerie);
List<Serie> findByAtoresContainingIgnoreCaseAndAvaliacaoGreaterThanEqual(String nomeAtor, double avaliacao);
List<Serie> findTop5ByOrderByAvaliacaoDesc();
List<Serie> findByGenero(Categoria categoria);
List<Serie> findByTotalTemporadasLessThanEqualAndAvaliacaoGreaterThanEqual(int totalTemporadas, double avaliacao);
@Query ("select s from Serie s WHERE s.totalTemporadas <= :totalTemporadas AND s.avaliacao >= :avaliacao")
List<Serie> seriesPorTemporadaEAvaliacao(int totalTemporadas, double avaliacao);
@Query("SELECT e FROM Serie s JOIN s.episodios e WHERE e.titulo IlIKE %:trechoEpisodio%")
List<Episodio> episodiosPorTrecho (String trechoEpisodio);
@Query("SELECT e FROM Serie s JOIN s.episodios e WHERE s = :serie ORDER BY e.avaliacao DESC LIMIT 5 ")
List<Episodio> topEpisodiosPorSerie(Serie serie);
@Query("SELECT e FROM Serie s JOIN s.episodios e WHERE s = :serie AND YEAR(e.dataLancamento) >= :anoLancamento" )
List<Episodio> episodiosPorSerieEAno(Serie serie, int anoLancamento);
List<Serie> findTop5ByOrderByEpisodiosDataLancamentoDesc();
@Query("SELECT e FROM Serie s JOIN s.episodios e WHERE s.id = :id AND e.temporada = :numero")
List<Episodio> obterEpisodiosPorTemporada(Long id, Long numero);
}