1
resposta

serie_id

Eu acho que nao tem nada a ver com a aula mas, no meu Postgre, na parte do serie_id esta como null
Nao sei se é isso que esta impactando na minha busca, pois ao buscar o episodio por trecho, aparece o seguinte erro e nao gera nada, só volta para o menu

2025-07-26T15:41:57.698-03:00 DEBUG 8132 --- [ScreenMatchNew] [ main] org.hibernate.SQL :
select
e1_0.id,
e1_0.avaliacao,
e1_0.data_de_lancamento,
e1_0.numero_episodio,
s1_0.id,
s1_0.atores,
s1_0.avaliacao,
s1_0.genero,
s1_0.poster,
s1_0.sinopse,
s1_0.titulo,
s1_0.total_temporadas,
e1_0.temporada,
e1_0.titulo
from
series s1_0
join
episodios e1_0
on s1_0.id=e1_0.serie_id
where
e1_0.titulo ilike ? escape ''
Hibernate:
select
e1_0.id,
e1_0.avaliacao,
e1_0.data_de_lancamento,
e1_0.numero_episodio,
s1_0.id,
s1_0.atores,
s1_0.avaliacao,
s1_0.genero,
s1_0.poster,
s1_0.sinopse,
s1_0.titulo,
s1_0.total_temporadas,
e1_0.temporada,
e1_0.titulo
from
series s1_0
join
episodios e1_0
on s1_0.id=e1_0.serie_id
where
e1_0.titulo ilike ? escape ''

1 resposta

Olá Benjamin, como vai?

Parece que você está enfrentando um problema relacionado ao serie_id estar como null no PostgreSQL, o que pode estar impactando sua busca por episódios. Esse problema geralmente ocorre quando há um relacionamento entre tabelas que não está sendo corretamente mapeado ou populado.

Aqui estão algumas sugestões para resolver o problema:

  1. Verifique o Mapeamento das Entidades: Certifique-se de que o mapeamento entre as entidades Serie e Episodio está correto. No JPA, isso geralmente é feito com anotações como @OneToMany e @ManyToOne. Por exemplo:

    @Entity
    public class Serie {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
        
        @OneToMany(mappedBy = "serie")
        private List<Episodio> episodios;
    }
    
    @Entity
    public class Episodio {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
        
        @ManyToOne
        @JoinColumn(name = "serie_id")
        private Serie serie;
    }
    
  2. Popule o serie_id Corretamente: Ao inserir episódios no banco de dados, certifique-se de que o serie_id está sendo corretamente atribuído. Isso pode ser feito ao associar o episódio à série antes de salvar:

    Serie serie = // obtenha a série de alguma forma
    Episodio episodio = new Episodio();
    episodio.setSerie(serie);
    // salve o episódio no repositório
    
  3. Verifique a Integridade dos Dados no Banco: Use uma ferramenta de administração do PostgreSQL para verificar se os dados nas tabelas series e episodios estão corretos. Veja se há registros de episódios com serie_id nulo e, se necessário, atualize-os manualmente para garantir que cada episódio esteja associado a uma série.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.