Probeer dit:
public class Professor {
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = "ALUNO_PROFESSOR",
joinColumns = @JoinColumn(name = "idProfessor", referencedColumnName = "idProfessor"),
inverseJoinColumns = @JoinColumn(name = "idAluno", referencedColumnName = "idAluno"))
private List<Aluno> alunoList;
}
public class Aluno {
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = "ALUNO_PROFESSOR",
joinColumns = @JoinColumn(name = "idAluno", referencedColumnName = "idAluno"),
inverseJoinColumns = @JoinColumn(name = "idProfessor", referencedColumnName = "idProfessor"))
private List<Professor> professorList;
}
Dit zorgt ervoor dat de metagegevens voor de veel-op-veel-relatie beschikbaar zijn voor beide entiteiten en dat bewerkingen aan beide kanten van de relatie naar de andere kant worden gecascadeerd.
Ik stel ook voor om FetchType.EAGER
te vervangen met FetchType.LAZY
voor betere prestaties omdat dit het potentieel heeft om een zeer grote dataset te laden.