Estou começando a usar o Hibernate agora e surgiu uma dúvida…
Tenho uma classe Aluno e uma classe Pessoa. Pessoa é a classe-pai e Aluno por sua vez herda seus atributos.
Quem eu devo marcar com @Entity (entidade do banco)?? Já que o banco
não possui uma tabela Pessoa mas sim uma tabela Aluno???
Devo apenas marcar na classe Pessoa seus atributos como colunas??? EX.:
Estou começando a usar o Hibernate agora e surgiu uma dúvida…
Tenho uma classe Aluno e uma classe Pessoa. Pessoa é a classe-pai e Aluno por sua vez herda seus atributos.
Quem eu devo marcar com @Entity (entidade do banco)?? Já que o banco
não possui uma tabela Pessoa mas sim uma tabela Aluno???
Devo apenas marcar na classe Pessoa seus atributos como colunas??? EX.:
protectedStringnome;@Column(name="nome")
Agradeço desde já a atenção!!!
Jonhzinho
Se você deseja que Pessoa não seja uma entidade(tabela) no banco de dados, então a mesma não precisa estar anotada com @Entity.
Um exemplo:
@MappedSuperclasspublicclassPessoa{@Column(name="NOME")privateStringnome;// getters e setters}@EntitypublicclassAlunoextendsPessoa{@Column(name="RGM")privateIntegerrgm;// getters e setters}
Andre_Brito
Vale dar uma lida na documentação do Hibernate, porque existem vários jeitos de se fazer essa parte de herança. Aqui, geralmente uso 1 tabela por herança (Pessoa é uma tabela, que armazena usuários, alunos, professores e tal) e coloco @Entity em todas.