SerieController:
    @GetMapping("/{id}/temporadas/top")
    public List<EpisodioDTO> obterTop5Episodios(@PathVariable Long id) {
        return servico.obterTop5Episodios(id);
    }
SerieService:
    public List<EpisodioDTO> obterTop5Episodios(Long id) {
        return repositorio.topEpisodiosPorSerie(id)
                .stream()
                .map(e -> new EpisodioDTO(e.getTemporada(),e.getTitulo(),e.getNumeroEpisodio()))
                .collect(Collectors.toList());
    }
SerieRepository:
    @Query("SELECT e FROM Serie s JOIN s.episodios e WHERE s.id = :id ORDER BY e.avaliacao DESC LIMIT 5")
    List<Episodio> topEpisodiosPorSerie(Long id);
Solucionei o desafio assim
 
            