Problema: Hibernate Mapeamento por Subclasse

1 resposta
J

Tenho um mapeamento por subclasse onde cada classe é uma tabela e os identificadores das tabelas filhas são iguais a Pessoa, porém, o contexto do negócio é que Pessoa é uma classe concreta e que posso ter uma Pessoa sem ter um Aluno, Funcionario, etc… Porém o problema que enfrento é como fazer para criar o Aluno, Funcionario e vincular a Pessoa???

Pois usando o Hibernate ao criar o Aluno ele cria a Pessoa, a mesma coisa com Funcionario…
Nem posso utilizar o método update() do Hibernate por não exisitir a objeto na classe filha

  • Class Pessoa (campo id - IDENTITY)
  • Class Funcionario extends Pessoa (campo id - INT )
  • Class Aluno extends Pessoa (campo id - INT )
@Entity
@Table(name = "cmmPessoa")
@Inheritance(strategy = InheritanceType.JOINED)
public class Pessoa {


@Entity
@Table(name = "cmmAluno")
@PrimaryKeyJoinColumn(name="idAluno")
public class Aluno extends Pessoa {

1 Resposta

paulo.ubuntu

Ola Java_User…

a principio…pelo menos no meu ponto de vista… voce fazendo um retrabalho…

esquecendo assim de usar a Orientação a Objeto…

por exemplo…::

Se Todo Aluno é uma pessoa … e todo funcionario tambem…
porque voce não cria uma classe abstrata Pessa e extends elas para ALuno e FUncionario???

quanto a vinculação ao hibernate…
voce pode usar de duas formas…

One-To-One (relacionamento de um para um)

ou Many-To-One (um set de varias Instancias.)

no teu caso é mais aconselhavel One-to-one

segue abaixo o link da documentação do hibernate para tal…

http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/#d0e998

espero ter te ajudado :smiley:
Abraços

Criado 10 de março de 2008
Ultima resposta 10 de mar. de 2008
Respostas 1
Participantes 2