JPA e Hibernate - relacionamento com uma única chave da chave composta
10 respostas
M
minin
Boa tarde pessoal, estou com a seguinte situação:
Tenho uma chave primária composta com 3 campos: ChavePK
esta chave é utilidada por 3 outras classes que se relacionam sem problema: ClasseA, ClasseB e ClasseC
meu problema é que tenho outra classe (ClasseD) que se relaciona apenas com um campo desta chave composta;
não consegui fazer este relacionamento: dizer para o jpa que a Classe D se relaciona apenas com um campo da chave composta da Classe A e não com todos os campos.
Amigo, tive um proplema parecido de uma classe q contia uma chave composta por 2 atributos, a qual a se relacionava apenas um de uma outra classe, e resolvi com o proprio assistente do Netbeans. Faz um teste e ver se vai te ajudar, crias tabelas e as entity apartir das suas tabelas. Isso caso vc use o Netbeans. Na verdade ele criou uma outra classe. Se alguem poder ajudar usando uma forma mais simples, ficarei grato tbem. t+
M
minin
Opa, tentei fazer o mapeamento pelo netbeans mas ele trava buscando as chaves das tabelas …
marcelo.bellissimo
Cara, manda os mapeamentos que você tá fazendo, e se possível a estrutura dessas tabelas que você está mapeando… tem alguma coisa errada ai… e aliás, esqueça do assistente do NetBeans, ele faz tudo errado mesmo… um lixo…
M
minin
Opa, vejam um exemplo:
Tenho uma tebela com uma chave primária composta de 5 campos, mas somente dois destes se relacionam com outra tabela, e as vezes somente um.
Abraços
marcelo.bellissimo
Elas sempre vão existir pois fazem parte da PK… não existe PK composta com campos nulos…
A
apalmeira
Estou com o mesmo problema!
Vocês conseguiram resolver? Poderiam postar as classe?
marcelo.bellissimo
Faz tempo que resolvemos isso… não tenho as classes para mostrar, mas dê uma lida nas explicações que deve ajudar… qualquer dúvida, poste suas classes aí, e diga o que você está tentando fazer …
T
Tecnoage
na verdade uma solução um pouco mais inteligente, é se possivel, colocar um identificador único para essa tabela, mais ainda, a própria equipe do hibernate desencoraja a utilizaçao de chaves compostas. Para garantir a integridade neste caso, vc poderia usar hibernate-validator ou constraints do banco de dados.
hvivox
Instala o hibernate tools do eclipse e faça o mapeamento!
J
jvds
Estou com o mesmo problema sera que poderia me ajudar.