Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Dúvida sobre mappedBy

Por que o mappedBy só foi usado na classe Serie e não na classe Episodios ?

1 resposta
solução!

Olá, Victor. Tudo bem?

A razão pela qual o mappedBy é utilizado apenas na classe Serie e não na classe Episodio está relacionada à forma como o relacionamento bidirecional entre as duas classes é mapeado em JPA.

No caso de um relacionamento @OneToMany e @ManyToOne, como é o caso entre Serie e Episodio, o mappedBy é utilizado na classe que possui a coleção (no caso, Serie) para indicar que o relacionamento é controlado pelo lado "muitos" (Episodio). Isso significa que a classe Serie não é responsável por manter a chave estrangeira no banco de dados; essa responsabilidade é da classe Episodio.

Aqui está um exemplo prático:

  • Em Serie.java, você tem:

    @OneToMany(mappedBy = "serie")
    private List<Episodio> episodios = new ArrayList<>();
    

    O mappedBy = "serie" indica que o atributo serie em Episodio é o responsável pelo relacionamento.

  • Em Episodio.java, você tem:

    @ManyToOne
    private Serie serie;
    

    Aqui, Episodio possui a referência à Serie, e é onde a chave estrangeira é realmente armazenada no banco de dados.

Portanto, o mappedBy é usado para especificar o lado não proprietário do relacionamento, que é a coleção na classe Serie, enquanto Episodio é o lado proprietário que realmente mantém a referência à chave estrangeira.

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