Pessoal, estou com uma dúvida e espero que vcs possam me ajudar. Tenho uma classe pessoa e a classe aluno que herda de pessoa.
No meu banco eu criei as tabelas
pessoa (id_pessoa, nome, cpf, outros campos...)
aluno(id_aluno, id_pessoa, situacao, outros campos...);
os campos em negrito são as chaves... Acontece que uma pessoa pode ser aluno mais de uma vez (ter outra matricula) mas não to conseguindo mapear no hibernate o id_aluno como chave pois como ele herda de pessoa, pega a chave da classe pessoa
as minhas classes
@Entity
@Table(name = "pessoa")
@Inheritance(strategy=InheritanceType.JOINED)
public class Pessoa implements IPojo, Serializable {
private static final long serialVersionUID = 5183527137574695283L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_pessoa", nullable = false)
private Integer idPessoa;
@Column(name = "nome", nullable = false, length = 100)
private String nome;
...
@Entity
@Table(name = "aluno")
public class Aluno extends Pessoa {
private static final long serialVersionUID = 942363139884847717L;
@Column(name = "id_aluno", nullable = false)
private Integer idAluno;
@Column(name = "situacao", nullable = false, length = 100)
private String situacao;
...
como que eu faço pra poder fazer com que o hibernate entenda que a chave da minha tabela aluno é o id_aluno e não o id_pessoa? Tentei colocar a anotação @Id no campo id_aluno mas deu erro no hibernate.