[RESOLVIDO] Hibernate - Problema de mapeamento com chave composta  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
von.juliano
GUJ Master
[Avatar]

Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline

Boa tarde galera, estou com o seguinte problema:

Tenho as entidades Status, Pedido e StatusPedido:
Status é um-para-muitos com StatusPedido, que é um-para-muitos com Pedido. Devido à chave composta de StatusPedido, estou tendo problemas. Na forma como está, recebo a seguinte exception:
Alguém sabe a forma correta de fazer esse mapeamento? Obrigado!

This message was edited 2 times. Last update was at 17/03/2009 13:39:26


É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!

Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/
[Email] [WWW]
von.juliano
GUJ Master
[Avatar]

Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline

Estudando aqui, vi que posso user a anotação @JoinTable e tornar o relacionamento muitos-para-muitos, indicando a tabela criada por StatusPedido como tabela associativa, mas aí tem outros problemas, pois perco a referência pelo código, e além disso tenho outras colunas nessa tabela.

Alguém tem alguma sugestão? Obrigado!

This message was edited 1 time. Last update was at 17/03/2009 12:13:55


É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!

Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/
[Email] [WWW]
scheide
Debugger

Membro desde: 30/06/2008 12:56:15
Mensagens: 51
Offline

acredito que vc está duplicando o campo CD_STATUS na classe PedidoStatus, já que ele está definido na própria classe e na Pk. Tente colocar:

na classe StatusPedidoId e retirar de StatusPedido...
von.juliano
GUJ Master
[Avatar]

Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline

Oi scheide, obrigado pela dica, mas resolvi de outra forma.

Verifiquei que havia um erro no DER que me passaram, assim que ele foi corrigido, StatusPedido passou a ser mesmo uma tabela associativa, e como existem alguns outros atributos nela, ficou assim:

E nas entidades relacionadas foi só mapear o lado fraco.

Obrigado! Flw!

É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!

Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/
[Email] [WWW]
scheide
Debugger

Membro desde: 30/06/2008 12:56:15
Mensagens: 51
Offline

De nada, sem chave composta fica mais fácil hehe.
von.juliano
GUJ Master
[Avatar]

Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline

scheide wrote:De nada, sem chave composta fica mais fácil hehe.

Na verdade, eu resolvi e a chave composta permaneceu como mostrei antes, mas no último post eu tinha omitido
Flw!

É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!

Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/
[Email] [WWW]
scheide
Debugger

Membro desde: 30/06/2008 12:56:15
Mensagens: 51
Offline

Ah tá (hehe).
Achei que desse jeito não funcionaria, já que os campos CD_STATUS e CD_PEDIDO estão mapeados 2x, mas se tá funcionando então blz.
[]'s
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team