| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2008 15:26:14
|
toninhocell
Debugger
![[Avatar]](/images/avatar/f1df1191208cc6abae70f1c317d0c610.jpg)
Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline
|
Pessoal estou com o seguinte problema:
Quero persistir um objeto da seguinte maneira, tenha uma pessoa que tem uma cidade que tb é um objeto, dessa forma para persistir pessoa tenho que fazer....
como não tenho minha cidade e como ela já está na base para não ter que consulta-la e depois seta-la na pessoa, teria com eu somente passar o ID para o objeto cid e inseri-lo em pessoa para depois persistir e com isso ganhar performance?????
|
"Hoje sou mais sábio do que ontem" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2008 15:46:31
|
dooda
JavaChild
![[Avatar]](/images/avatar/2dd6f963d9acac8cff87b962bdce534c.jpg)
Membro desde: 26/12/2006 16:05:19
Mensagens: 146
Localização: Cascavel-PR
Offline
|
é Hibernate?
Caso for: me corrijam se eu estiver errado, mas acredito que só com
pessoa.getCidade().setId(1L);
acho que deve funcionar...
|
=) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2008 15:51:52
|
prbpedro
Thread.start()
Membro desde: 08/10/2007 11:55:26
Mensagens: 39
Offline
|
Funciona mas verifique se no mapeamento do relacionamento entre Pessoa e Cidade, você colocou update="false" pois se foi colocado o contrário você atualizará a cidade deixando os outros campos desta nulos.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2008 16:32:05
|
toninhocell
Debugger
![[Avatar]](/images/avatar/f1df1191208cc6abae70f1c317d0c610.jpg)
Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline
|
Assim, estou usando Hibernate com Anotations e a forma como está mapeado está para não replicar um seve ou update para todos. Estou omitindo o cascadeType.ALL....
|
"Hoje sou mais sábio do que ontem" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2008 16:33:33
|
toninhocell
Debugger
![[Avatar]](/images/avatar/f1df1191208cc6abae70f1c317d0c610.jpg)
Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline
|
dooda wrote:é Hibernate?
Caso for: me corrijam se eu estiver errado, mas acredito que só com
pessoa.getCidade().setId(1L);
acho que deve funcionar...
Vou fazer o teste e ver no que da... se funcionar isso vai dar um grande salto no desempenho do sistema que estou trabalhando...
|
"Hoje sou mais sábio do que ontem" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2008 16:36:49
|
Rapapel
JavaChild
Membro desde: 05/10/2006 11:19:03
Mensagens: 115
Localização: Brasilia - DF
Offline
|
Como vc esta não habilitou o Cascade.ALL. Se o objeto cidade ja existir, vc so precisa setar o objeto cidade com o id preenchido no objeto pessoa.
This message was edited 1 time. Last update was at 22/07/2008 16:37:13
|
________________________________
Os piores problemas são aqueles que nunca acontecem. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2008 16:40:17
|
toninhocell
Debugger
![[Avatar]](/images/avatar/f1df1191208cc6abae70f1c317d0c610.jpg)
Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline
|
Rapapel wrote:Como vc esta não habilitou o Cascade.ALL. Se o objeto cidade ja existir, vc so precisa setar o objeto cidade com o id preenchido no objeto pessoa.
Esse objeto não existe, ele deve ser buscado bando para compor o objeto pessoa e para não ter que realizar esta consulta queria somente passar o id no objeto e depois persistir... ganhando performance
|
"Hoje sou mais sábio do que ontem" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2008 20:27:22
|
Rapapel
JavaChild
Membro desde: 05/10/2006 11:19:03
Mensagens: 115
Localização: Brasilia - DF
Offline
|
toninhocell wrote:
Rapapel wrote:Como vc esta não habilitou o Cascade.ALL. Se o objeto cidade ja existir, vc so precisa setar o objeto cidade com o id preenchido no objeto pessoa.
Esse objeto não existe, ele deve ser buscado bando para compor o objeto pessoa e para não ter que realizar esta consulta queria somente passar o id no objeto e depois persistir... ganhando performance
Buscar? então vc já tem uma lista de cidades persistida certo?
Se vc tem uma lista de cidades vc tem os id, se vc souber o id da cidade pode fazer como eu falei.
Se vc tem somente o id, pode fazer que da certo, não é preciso ter o objeto todo não, mas ai cuidado com os Cascades...
|
________________________________
Os piores problemas são aqueles que nunca acontecem. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/07/2008 07:38:48
|
toninhocell
Debugger
![[Avatar]](/images/avatar/f1df1191208cc6abae70f1c317d0c610.jpg)
Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline
|
Rapapel wrote:
toninhocell wrote:
Rapapel wrote:Como vc esta não habilitou o Cascade.ALL. Se o objeto cidade ja existir, vc so precisa setar o objeto cidade com o id preenchido no objeto pessoa.
Esse objeto não existe, ele deve ser buscado bando para compor o objeto pessoa e para não ter que realizar esta consulta queria somente passar o id no objeto e depois persistir... ganhando performance
Buscar? então vc já tem uma lista de cidades persistida certo?
Se vc tem uma lista de cidades vc tem os id, se vc souber o id da cidade pode fazer como eu falei.
Se vc tem somente o id, pode fazer que da certo, não é preciso ter o objeto todo não, mas ai cuidado com os Cascades...
Isso ai, eu já tenho o id da cidade que quero. Tentei aqui mas não deu certo creio que seja por ter algum objeto cascade. Vou fazer uma busca e mudar o que achar.... e posto ai!
|
"Hoje sou mais sábio do que ontem" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/07/2008 07:44:56
|
Rapapel
JavaChild
Membro desde: 05/10/2006 11:19:03
Mensagens: 115
Localização: Brasilia - DF
Offline
|
toninhocell wrote:
Rapapel wrote:
toninhocell wrote:
Rapapel wrote:Como vc esta não habilitou o Cascade.ALL. Se o objeto cidade ja existir, vc so precisa setar o objeto cidade com o id preenchido no objeto pessoa.
Esse objeto não existe, ele deve ser buscado bando para compor o objeto pessoa e para não ter que realizar esta consulta queria somente passar o id no objeto e depois persistir... ganhando performance
Buscar? então vc já tem uma lista de cidades persistida certo?
Se vc tem uma lista de cidades vc tem os id, se vc souber o id da cidade pode fazer como eu falei.
Se vc tem somente o id, pode fazer que da certo, não é preciso ter o objeto todo não, mas ai cuidado com os Cascades...
Isso ai, eu já tenho o id da cidade que quero. Tentei aqui mas não deu certo creio que seja por ter algum objeto cascade. Vou fazer uma busca e mudar o que achar.... e posto ai!
A relação pessoa cidade dentro da classe pessoa não pode ter cascateamento.
Aqui eu uso JPA com Hibernate e sempre faço isso, e da certo.
|
________________________________
Os piores problemas são aqueles que nunca acontecem. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/07/2008 08:43:08
|
toninhocell
Debugger
![[Avatar]](/images/avatar/f1df1191208cc6abae70f1c317d0c610.jpg)
Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline
|
Tentei aqui mas não deu certo, retirei o cascade e mesmo assim não funciona...
|
"Hoje sou mais sábio do que ontem" |
|
|
 |
|
|