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)