| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/12/2008 10:20:20
|
rafaelbrizola
Thread.start()
Membro desde: 27/03/2006 23:42:46
Mensagens: 33
Offline
|
Salve galera,
Tenho 2 tabelas: Pessoa e Login e a relação entre elas é 1 para 1.
Tabela Pessoa
ID_PESSOA
...... (outros campos)
Tabela Login
ID_LOGIN (primary key)
ID_PESSOA (foreign key para a Tabela PESSOA)
..... (outros campos)
As classes estão mapeadas assim:
PESSOA
LOGIN
Antes de salvar a entidade PESSOA, eu seto a pessoa dentro de login:
Mas quando tento salvar a entidade pessoa (e o login que é um atributo desta classe e deveria ser salvo junto) ocorre o seguinte erro:
No log dá pra ver que a entidade pessoa está sendo salva corretamente, o id do login está sendo gerado através da sequence, mas o id da pessoa não está sendo copiado para o campo niPessoa de login.
Alguém sabe oq está faltando?
Valeu!
This message was edited 1 time. Last update was at 03/12/2008 16:38:19
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/12/2008 14:30:37
|
rafaelbrizola
Thread.start()
Membro desde: 27/03/2006 23:42:46
Mensagens: 33
Offline
|
Olhando o código fonte do Hibernate, me parece que os Generators só são tratados quando o campo tem a anotação @Id ou @EmbeddedId, conforme código abaixo: (Extraido do link http://www.docjar.com/html/api/org/hibernate/cfg/AnnotationBinder.java.html)
Alguém sabe se é assim mesmo? E se for, será que tem outro jeito pra fazer??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/12/2008 16:38:06
|
rafaelbrizola
Thread.start()
Membro desde: 27/03/2006 23:42:46
Mensagens: 33
Offline
|
Galera, descobri oq era. Eu estava mapeando a classe do jeito errado.
Eu tenho que por o @OneToOne e @JoinColumn em Login, não em Pessoa.
Segue abaixo como ficou:
PESSOA
LOGIN
Dessa maneira eu nem preciso criar o campo niPessoa em login, pois posso recurperar direto do atributo pessoa.
Bom, se alguém tiver esse problema, tae
[]'S
|
|
|
 |
|
|
|
|