Persistir objeto incompleto Hibernate  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
toninhocell
Debugger
[Avatar]

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"
[Email] [Yahoo!] [MSN]
dooda
JavaChild
[Avatar]

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...

=)
[Email] [WWW] [MSN]
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.
toninhocell
Debugger
[Avatar]

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"
[Email] [Yahoo!] [MSN]
toninhocell
Debugger
[Avatar]

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"
[Email] [Yahoo!] [MSN]
Rapapel
JavaChild
[Avatar]
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.
[MSN]
toninhocell
Debugger
[Avatar]

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"
[Email] [Yahoo!] [MSN]
Rapapel
JavaChild
[Avatar]
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.
[MSN]
toninhocell
Debugger
[Avatar]

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"
[Email] [Yahoo!] [MSN]
Rapapel
JavaChild
[Avatar]
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.
[MSN]
toninhocell
Debugger
[Avatar]

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"
[Email] [Yahoo!] [MSN]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team