Olá!
Estou implementando a seguinte modelagem para um sistema de recrutamento e seleção de profissionais:
@Entity
@Table(name = "tbl_usuario")
public class Usuario {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "usu_codigo")
private Long codigo;
//(...)
}
@Entity
@Table(name = "tbl_vaga")
public class Vaga {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "vag_codigo")
private Long codigo;
(...)
@Entity
@Table(name = "tbl_candidatura")
public class Candidatura {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "can_codigo")
private Long codigo;
@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(name = "tbl_vaga_vag_codigo", referencedColumnName = "vag_codigo")
private Vaga vaga;
@JoinColumn(name = "tbl_usuario_usu_codigo", referencedColumnName = "usu_codigo")
private Usuario usuario;
//(...)
Como se vê, a classe Candidatura, além de sua PK (can_codigo) terá duas FKs: uma para vag_codigo, outra para usu_codigo.
Alguém poderia me ajudar quanto à inclusão correta das anotações e respectivos mapeamentos?