| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 15:24:16
|
evertonsilvagomesjava
GUJ Master
![[Avatar]](/images/avatar/6370988b46be58caec00d925d91d2f99.png)
Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline
|
Pessoal sei que o erro diz que tenho que setar o id dessa entidade Uf manualmente porém eu tenho que setar esse objeto como null e no banco ele pode ser setado como null, mas na hora de salvar dar este erro, pq? Me ajudem por favor.
This message was edited 1 time. Last update was at 17/10/2011 11:19:37
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 15:27:40
|
alissonvla
GUJ Master
Membro desde: 17/04/2006 15:29:07
Mensagens: 1491
Offline
|
na hora de criar seu objeto nao tem problema seu id seja null, desde que no seu banco dua PK seja incrementada de alguma forma, por exemplo, sequnce, auto incremente.
t+
This message was edited 1 time. Last update was at 14/10/2011 15:28:11
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 15:31:53
|
evertonsilvagomesjava
GUJ Master
![[Avatar]](/images/avatar/6370988b46be58caec00d925d91d2f99.png)
Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline
|
Alisson deixa eu te explicar pra ver se vc me ajude, no BD minha tabela UF tem uma pk que se chama SG.
Eu tenho uma entidade que se chama AssociadoParticipante que possui essa foreing key SG que vem da tabela UF.
Porém na tabela AssociadoParticipante ela pode ser null e na hora de salvar da este erro, ou seja eu posso nao querer salvar uma UF quando for salvar um AssociadoParticipante entendeu?
O mapeamento esta assim
AssociadoParticipante:
UF:
This message was edited 1 time. Last update was at 14/10/2011 15:33:41
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 15:33:57
|
alissonvla
GUJ Master
Membro desde: 17/04/2006 15:29:07
Mensagens: 1491
Offline
|
ate ai blz, porem na sua Tabela UF, sua PK SG, tem que ter uma forma de auto incremento, verifica se vc colocou isso.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 15:36:06
|
evertonsilvagomesjava
GUJ Master
![[Avatar]](/images/avatar/6370988b46be58caec00d925d91d2f99.png)
Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline
|
Não tem nao a PK é a sigla da UF, exemplo "MG" - "SP" por ai vai.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 15:41:19
|
Guilherme Gomes
Virtual Machine Man
![[Avatar]](/images/avatar/1d32607ab01409c4b6916c5cae13b269.jpg)
Membro desde: 25/06/2007 14:32:09
Mensagens: 686
Localização: São Paulo
Offline
|
O problema não está na AssociadoParticipante, está na propria UF.
O hibernate está tentando persistir a Uf, mas esta está com o id nulo. E como vc não mapeou o Id como valor gerado, então ele deve ser informado por você.
Se o problema está acontecendo quando vc insere o AssociadoParticipante, então ele deve estar fazendo um cascade pra inserir uma UF que está instanciada, mas com Id nulo. Dá uma olhada nisso.
|
-----------
Atenciosamente,
Guilherme V. F. Gomes. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 15:47:11
|
evertonsilvagomesjava
GUJ Master
![[Avatar]](/images/avatar/6370988b46be58caec00d925d91d2f99.png)
Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline
|
Eu pensei que fosse isso tb, porém eu seto o UF pra null antes de persistir =/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 15:51:45
|
Guilherme Gomes
Virtual Machine Man
![[Avatar]](/images/avatar/1d32607ab01409c4b6916c5cae13b269.jpg)
Membro desde: 25/06/2007 14:32:09
Mensagens: 686
Localização: São Paulo
Offline
|
Posta a sua classe UF.
Se eu fosse apostar, diria que em algum momento vc está mandando salvar uma Uf, ou está fazendo isso via cascade.
|
-----------
Atenciosamente,
Guilherme V. F. Gomes. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 15:55:00
|
evertonsilvagomesjava
GUJ Master
![[Avatar]](/images/avatar/6370988b46be58caec00d925d91d2f99.png)
Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline
|
Então tem o cascade no AssociadoParticipante pra salvar a UF, mas ela pode ser null na tabela AssociadoParticipante:
Aqui esta UF:
AssociacaoParticipante
metodo para persisitir
nesse montaAssocPartic() eu seto uf pra null
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 06:08:28
|
evertonsilvagomesjava
GUJ Master
![[Avatar]](/images/avatar/6370988b46be58caec00d925d91d2f99.png)
Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline
|
Alguem me ajuda?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 06:49:43
|
Guilherme Gomes
Virtual Machine Man
![[Avatar]](/images/avatar/1d32607ab01409c4b6916c5cae13b269.jpg)
Membro desde: 25/06/2007 14:32:09
Mensagens: 686
Localização: São Paulo
Offline
|
Confere no metodo insere(), se o this.participante.getUf() está realmente null. Imagino que esteja alguma UF lixo ali...
|
-----------
Atenciosamente,
Guilherme V. F. Gomes. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 07:17:04
|
evertonsilvagomesjava
GUJ Master
![[Avatar]](/images/avatar/6370988b46be58caec00d925d91d2f99.png)
Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline
|
Guilherme ja conferi =/, veja so na imagem em anexo.
O unico objeto que tem UF tb nessa aplicaçao e Municipio porem Municipio tb esta null =/
|
| Nome do arquivo |
uf.JPG |
Download
|
| Descrição |
|
| Tamanho |
127 Kbytes
|
| Baixado: |
11 vez(es) |
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 09:14:39
|
Guilherme Gomes
Virtual Machine Man
![[Avatar]](/images/avatar/1d32607ab01409c4b6916c5cae13b269.jpg)
Membro desde: 25/06/2007 14:32:09
Mensagens: 686
Localização: São Paulo
Offline
|
Achei o problema ^^ Tava na nossa cara o tempo todo!
O Hibernate ta usando o getUf() que está criando uma UF na hora ali e ele tenta salvar. Logo, erro...
|
-----------
Atenciosamente,
Guilherme V. F. Gomes. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 10:05:34
|
evertonsilvagomesjava
GUJ Master
![[Avatar]](/images/avatar/6370988b46be58caec00d925d91d2f99.png)
Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline
|
Pouts Guilherme é isso mesmo, mas pq o erro? Sendo que eu seto pra null? O hibernate sempre vai usar meus métodos getters e setters ou so esta usando pq fiz o mapeamento em cima deles?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 11:10:57
|
Guilherme Gomes
Virtual Machine Man
![[Avatar]](/images/avatar/1d32607ab01409c4b6916c5cae13b269.jpg)
Membro desde: 25/06/2007 14:32:09
Mensagens: 686
Localização: São Paulo
Offline
|
Mesmo se você tivesse anotado a propriedade, o Hibernate vai pegar o valor dela através do método, principalmente por que (boas praticas dizem) sua propriedade será privada e o Hibernate não conseguirá receber o valor da variável (mesmo via Reflection), a não ser pelo getter dela.
Outro motivo disso é que o Hibernate permite que você tenha regras dentro do getter (o motivo de ser boa prática usar getters/setters) que sejam executadas antes de inserir o registro em banco de dados (ou de ser utilizado por qualquer outra coisa).
Então, não recomendo fazer esse tipo de inicialização. Se for pra evitar NPE em outros pontos do código, utilize um IF sempre que necessário.
Acho que respondi ^^
|
-----------
Atenciosamente,
Guilherme V. F. Gomes. |
|
|
 |
|
|