pessoal, tenho uma tabela que a chave primaria seria id_curso, id_aluno,
como posso mapear isso em anotações do hiberante?
Grato
Celso
pessoal, tenho uma tabela que a chave primaria seria id_curso, id_aluno,
como posso mapear isso em anotações do hiberante?
Grato
Celso
esta tabela seria referente a vários alunos para vários cursos ?
Digamos que usuario tenha vários cursos e um curso tem vários alunos
na sua classe Curso:
private Set<Aluno> alunos;
@ManyToMany
@JoinTable(name = "TABELA_VARIOS_PARA_VARIOS", uniqueConstraints = { @UniqueConstraint(columnNames = {
"idCurso", "idAluno" }) }, joinColumns = @JoinColumn(name = "idCurso", referencedColumnName = "id_tabela_curso"), inverseJoinColumns = @JoinColumn(name = "idAluno", referencedColumnName = "id_tabela_aluno"))
public Set<Aluno> getAlunos() {
return alunos;
}
Classe Aluno
private Set<Curso> cursos;
@ManyToMany(mappedBy="alunos")
public Set<Curso> getCurso() {
return cursos;
}
O google, e a documentação do Hibernate, são seus amigos!
http://www.hibernate.org/hib_docs/annotations/reference/en/html/entity.html#d0e1596
Tem aí exatamente o que você precisa.
Rodrigo
[PS: Respondi com base no título do seu post… realmente, só acertando o relacionamento, você resolve seu problema, sem precisar criar uma chave composta. Mas se um dia precisar, aí está.]