Caros, estou trabalhando com Chave Composta , com JPA (EclipseLink) , e o banco de dados não contém chave estrangeira e preciso fazer um relacionamento com duas colunas.
Segue exemplo do que tenho até então:
@Entity
@Table ( name = "Alunos" )
public class Aluno implements Serializable {
@Id
@Column(name = "codigo", nullable = false)
private Integer codigo;
@Column(name = "area", nullable = false)
private String area;
//Resto dos campos
@Column(name = "nome", nullable = false)
private String nome;
}
@Entity
@Table ( name = "AlunosEmTurma" )
public class AlunosEmTurma implements Serializable {
@Column(name = "area", nullable = false)
private Integer area; //area da Turma
@Column(name = "Aluno", nullable = false)
private Integer Aluno; //codigo do aluno
@JoinColumn(name="codigo", nullable=true, insertable=false, updatable=false)
@OneToMany()
private List<Aluno> oAluno;
//Resto dos campos
@Column(name = "Turma", nullable = false)
private Integer turma;
}
O aluno só se relaciona até então pelo Código, porém ele terá que começar a se relacionar também por Àrea (ensino médio, ensino fundamental, etc).
Ou seja, como farei para relacionar o meu AlunoEmTurma com um Aluno levando em consideração que dois alunos poderão ter o mesmo código, sendo diferenciados pela àrea?