Não sei o porque, mas os dados de episódio vem todos quebrados, desta forma:
0
temporada 6
numeroEpisodio 6
titulo "Hot Girl"
1
temporada 6
numeroEpisodio 6
titulo "The Fight"
2
temporada 6
numeroEpisodio 6
titulo "Diwali"
3
temporada 6
numeroEpisodio 6
titulo "Branch Wars"
4
temporada 6
numeroEpisodio 6
titulo "Customer Survey"
5
temporada 6
numeroEpisodio 6
titulo "Mafia"
6
temporada 6
numeroEpisodio 6
titulo "Costume Contest"
7
temporada 6
numeroEpisodio 6
titulo "Doomsday"
8
temporada 6
numeroEpisodio 6
titulo "The Boat"
Estou tentando há um tempo descobrir, mas n sei, código: repositorio:
@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);
Service
public List<EpisodioDTO> obterTemporadasPorNumero(Long id, Long numero) {
List<EpisodioDTO> variasSeries = repository.obterEpisodiosPorTemporada(id, numero)
.stream()
.map(e -> new EpisodioDTO(e.getTemporada(), e.getNumeroEpisodio(), e.getTitulo()))
.collect(Collectors.toList());
return variasSeries;
}
Controller:
@GetMapping("/{id}/temporadas/{numero}")
public List<EpisodioDTO> obterTemporadasPorNumero(@PathVariable Long id, @PathVariable Long numero) {
return service.obterTemporadasPorNumero(id, numero);
}
DTO:
public record EpisodioDTO(Integer temporada, Integer numeroEpisodio, String titulo) {
}
Print do console: