Coba ini:
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;
}
Ini akan memastikan bahwa metadata untuk hubungan banyak ke banyak tersedia di kedua entitas dan bahwa operasi di kedua sisi hubungan diturunkan ke sisi lain.
Saya juga menyarankan untuk mengganti FetchType.EAGER
dengan FetchType.LAZY
untuk kinerja yang lebih baik karena ini berpotensi memuat kumpulan data yang sangat besar.