Explicação
A classe Aluno
tem uma coleção de Curso
e vice-versa.
A anotação @ManyToMany
na classe Aluno
indica que a relação é muitos para muitos.
A anotação @JoinTable
define explicitamente a tabela intermediária chamada aluno_curso
com as colunas aluno_id
e curso_id
.
O parâmetro mappedBy
na classe Curso
especifica que a associação Many-to-Many foi definida na classe Aluno
.
Atualizado