Hibernate - Inserir registros na classe filha

3 respostas
E

Ola pessoal

Eu tenho duas tabelas PESSOAS e ENDERECO.
Na tabela PESSOA eu tenho uma coluna chamada id que é uma PK.
Na tabela ENDERECO eu tenho um id que é uma FK, ou seja, a tabela PESSOA e ENDERECO estão relacionadas.

Eu tenho os VOs de pessoas e endereços. Para eu inserir um registro no banco de dados eu chamo um metodo set (por exemplo setId()).
Isso só dá certo quando vou inserir na tabela PESSOA. Quando eu vou inserir um registro na tabela ENDERECO aparece a seguinte mensagem de erro:

Exception in thread main org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one property: pessoa

at org.hibernate.id.ForeignGenerator.generate(ForeignGenerator.java:44)

at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)

at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)

at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)

at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)

at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)

at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)

at com.hibernate.teste.dao.InsereDados.inserirEndereco(InsereDados.java:64)

at com.hibernate.teste.Teste.main(Teste.java:19)

3 Respostas

passos

Vc esta atribuindo pessoa a endereco depois de artibuir o ID da pessoa?

Mostra o codigo pra galera!

E

Eu já resolvi o problema.
E que eu estava atribuindo o id de maneira errada.
Obrigado

passos:
Vc esta atribuindo pessoa a endereco depois de artibuir o ID da pessoa?

Mostra o codigo pra galera!

rodrigo_ctba

cara… estou com o mesmo problema… poderia dar uma dica de como vc. resolveu… se possível postar o código…

Obrigado !!!

Criado 20 de julho de 2006
Ultima resposta 16 de out. de 2006
Respostas 3
Participantes 3