Mapeamento com Hibernate e Annotations  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
jukinha
Thread.start()

Membro desde: 31/07/2006 14:17:11
Mensagens: 46
Offline

Tenho duas classes











Eu preciso compartilhar a chave primária da tabela pessoa ( PessoaFisica ) com a tabela usuario, mas dá o seguinte erro:



ids for this class must be manually assigned before calling save(): Usuario



Se eu fosse mapear pela forma tradicional ficaria assim não é?


Porém não sei como mapear com Annotations.
Alguém poderia me ajudar

O2
JavaBaby
[Avatar]

Membro desde: 05/04/2006 10:44:08
Mensagens: 82
Offline

Ae galera do forum alguem ai já passou por esse problema...

O problema está quando eu salvo o usuário eu gostaria que hibernate utilizace o mesmo ID para as tablelas...

Como faço para que o Hibernate utilize o mesmo ID para tabelas que se relacionam...

Grato a todos que puderem ajudar.





Gl@diador
jukinha
Thread.start()

Membro desde: 31/07/2006 14:17:11
Mensagens: 46
Offline

Se eu fizer assim da forma apresentada abaixo funciona:



Eu preciso que ao salvar o Usuario a PessoaFisica também seja salvo.

Eu sei que utilizando o mapeamento tradicional (hbm.xml) é possível; mas como eu faço isso utilizando Annotations...


cubas
Thread.start()
[Avatar]

Membro desde: 24/04/2003 20:56:15
Mensagens: 45
Offline

Juquinha, vc conseguiu resolver o problema citado neste tópico. Estou com o mesmo problema, não consigo compartilhar o id entre as classe relacionadas
djemacao
GUJ Master

Membro desde: 04/06/2007 17:47:24
Mensagens: 1030
Offline

Passei o olho e num sei se entendi direito, mas se for o que penso, vc tem que retornar um objeto no save do seu DAO, pegar ele e ler o atributo ID retornado.



Bom, se me enganei, desculpa gente, foi o que entendi da pergunta.

"Quanto mais aprendo mais tenho consciência que nada sei."
rmarin
JavaEvangelist
[Avatar]

Membro desde: 13/07/2005 09:14:45
Mensagens: 360
Localização: São Paulo
Offline

O problema é que o id da classe Usuario precisa ser atribuido manualmente, ou então você deve colocar o @GeneratedValue. Antes de inserir no banco, a chave deve estar populada, ou o hibernate tem que saber como gerar isso pra vc. Sacou?


jukinha wrote:






ids for this class must be manually assigned before calling save(): Usuario




Roberto Marin
__________________________________________
Odeio auto-nerds!
[WWW]
brancoisrael
What is classpath?

Membro desde: 10/10/2007 13:00:00
Mensagens: 8
Offline

Bem, acho que entendi a mesma coisa do nosso amigo DJemacao, e se vc retornar o objeto que persistiu ao final do save vai funcionar, pq mesmo com auto-incremento ele vai popular a field correspondente a chave primária sacou, dae vc vai ter o objeto que persistiu para poder pegar a chave primaria que vc precisa... Bem, caso não seja isso que deseja da uma outra explicada... vlws
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team