Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Bug] Problema com a query passada no video

Pessoal, notei um detalhe importante na implementação proposta pela Iasmin que pode sumir com alguns dados da tela.

Ao usar JOIN s.episodios, o JPA executa um Inner Join. Isso faz com que apenas as séries que já possuem episódios associados sejam retornadas. No meu caso, 3 séries que ainda estavam sem episódios simplesmente sumiram da listagem.

Para resolver isso e garantir que as 5 séries mais recentes apareçam na tela, mesmo que ainda não tenham episódios cadastrados, precisamos usar o LEFT JOIN.

A query corrigida fica assim:

@Query("SELECT s FROM Serie s " +
"LEFT JOIN s.episodios e " +
"GROUP BY s " +
"ORDER BY MAX(e.dataLancamento) DESC LIMIT 5")
List lancamentosMaisRecentes();

Fica a dica para quem estiver passando pelo mesmo problema!

1 resposta

Bom dia, Lucas! Tudo bem?

Obrigado por compartilhar esse detalhe tão importante aqui no fórum! Você notou um problema real que pode afetar diretamente o que aparece na tela para muitos alunos, e sua solução com o LEFT JOIN é exatamente a abordagem correta para esse caso.

Para complementar o que já foi dito, vale reforçar: ao usar JOIN simples em uma query com JPA, o comportamento padrão é o Inner Join, que retorna apenas os registros que possuem correspondência nas duas tabelas. Isso significa que séries sem episódios cadastrados simplesmente somem da listagem, o que pode parecer um bug difícil de identificar. Ao trocar para LEFT JOIN, garantimos que todas as séries apareçam na tela, mesmo que ainda não tenham episódios associados.

Esse tipo de observação vai além do que é apresentado em aula e demonstra uma leitura crítica muito valiosa do conteúdo. Tenho certeza de que essa dica sobre a query corrigida vai ajudar muitos outros alunos que passaram pelo mesmo problema sem saber a causa.

Continue assim, explorando, testando e compartilhando o que aprende!

Você chegou a identificar algum outro comportamento inesperado na implementação proposta no vídeo?

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