Na atividade 6(para saber mais) da aula 3, tem uma explicação de um erro comum em entidades bidirecionais, mas fiquei confuso sobre a solução dada.
No exemplo temos uma classe Aluno e uma classe Disciplina, na aluno a referencia é OneToMany e esta utilizando um "mappedBy" e na Disciplina a referencia é ManyToOne.
E na atividade temos o seguinte comentario: " Neste exemplo, a entidade "Disciplina" está mapeando para a entidade "Aluno". No entanto, a entidade "Aluno" também precisa mapear de volta para a "Disciplina". A falta desse mapeamento bidirecional é uma causa comum de erros.
Para resolver, inclua o mapeamento no lado "Aluno" da relação: "
A solução dada no exemplo é incluir esse método na classe Aluno:
public void addDisciplina(Disciplina disciplina) {
this.disciplinas.add(disciplina);
disciplina.setAluno(this);
}
E eu gostaria de saber o motivo da classe Aluno não esta mapeando a classe Disciplina, pois na classe Aluno possui o mappedBy. E qual a real necessidade do metodo, não entendi muito bem o que ele resolve. Seria o setAluno da disciplina recebida no método ?