Prøv dette:
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;
}
Dette vil sikre, at metadataene for mange-til-mange-relationen er tilgængelige på både entiteterne, og at operationer på begge sider af relationen kaskades til den anden side.
Jeg foreslår også at erstatte FetchType.EAGER
med FetchType.LAZY
for bedre ydeevne, fordi dette har potentialet til at indlæse et meget stort datasæt.