Associação com Hibernate

2 respostas
T

Pessoal, estou como uma dúvida com relação a como fazer um mapeamento, a construção dos pojos e do próprio banco com Hibernate na seguinte situação. Tenho duas classes, PessoaFisica e PessoaJuridica e outras que podem ser ou PessoaFisca ou PessoaJuridica, como Cliente, Fornecedor, etc… Aguém poderia me ajudar me dando uma dica nessa situação. Sou novato em hibernate e não sei como fazer isso direito. Tentei com joined-subclass mas as deveria extender ou PessoaFisica ou PessoaJuridica, não podendo variar.

Obrigado pela ajuda e atenção de todos.

2 Respostas

andreiribas

não entendi muito bem a sua pergunta, mas vou tentar te ajudar, passando o mapeamento com Hibernate Annotations, usando joined-subclass, no caso mapeie as tabelas usando uma relação 1x1.

No caso,

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@Table(name = "PESSOA_FISICA")
public class PessoaFisica {
   private int id;

   @Id
   public int getId() {}

}

@Entity
@Table(name = "Cliente")
@PrimaryKeyJoinColumn(name="PESSOA_FISICA_ID")
public class Cliente extends PessoaFisica {
   private String nome; ...
}

E o mapeamento entre PessoaJuridica e Fornecedor ficaria nesse mesmo esquema também.

T

André,

Até aí tudo bem. O problema reside no fato de um cliente poder ser tanto pessoa física quanto pessoa jurídica.

Não sei como resolver isso.

Criado 21 de maio de 2007
Ultima resposta 22 de mai. de 2007
Respostas 2
Participantes 2