GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Problemas com entidades estendidas no hibernate

java
hibernate
Tags: #<Tag:0x00007f18646830e8> #<Tag:0x00007f1864682f58>

#1

Olá pessoal, estou com um problema. tenho uma entidade “pessoa” que possuis três listas de outras entidades: (endereços, contatos e referências) até ai tudo certo. O problema é que alterei o código pois referência poderia herdar contato, pois possui os mesmos atributos, mas ao fazer a alteração quando consulto a pessoa vem na tabela referência o contato também e ao contrário também. Poderiam me ajudar nesta questão? Desde já agradeço a ajuda. Obrigado.


#2

Não entendi o que você quer fazer, pelo que entendi não tem nada de errado com o hibernate e sim com a maneira que você modelou as classes. Existem alguns pontos.

A classe referência estende contato? Caso seja dessa forma isso vai acontecer mesmo, pq para o hibernate a tabela para os dois é a mesma. Para fazer esse tipo de relacionamento com superclasse você tem quer usar anotações especificas para classificar as classes filhas DiscriminatorClass, DiscrminatorColumn e DiscriminatorValue.

Caso você não queria que essas classes se relacionem e entenda que uma não tem nada a ver com a outra a não ser os nomes dos campos, escreva a classe por completo, é bem mesmo trabalhoso que mudar a estrutura do código e apagar as tabelas para usar o discriminator.


#3

Pessoal resolvido. O problema estava no fato de eu estar usando a classe pai. resolvi criando uma classe abstrata contato e estendi duas: contatoPessoa e referenciaPessoa ai funcionou certinho.


#4

Obrigado pela resposta @Villagram