[RESOLVIDO]hibernate - salvar dados ou atualizar

4 respostas
kelvis

pessoALL…

tenho um método do tipo lista que faz uma CONSULTA(Criteria) no banco e me retorna os CONTATOS de uma pessoa e exibe num dataTable;

private List<EventoContato> listaContatosPessoa = new ArrayList<EventoContato>();

public List<EventoContato> getCarregaContatosPessoa(){

    //traz os contatos perfeitamente e carrega o dataTable
    listaContatosPessoa = contatoServico.carregaContatosPorPessoa(pessoa);
}

depois de adicionar novos contatos nessa lista que já contém dados do banco, como persistir na base novamente?

Obrigado desde já!!

4 Respostas

kelvis

Alguém pode ajudar?

thiagocg

Boa noite kelvis, existem algumas maneiras diferentes de fazer isso.

Voce pode por exemplo passar essa sua lista para o seu service e verificar se eles possuem ID, caso não possua vc chama persiste ele no bd.
Voce pode tentar fazer tb a persistencia anotando sua lista para que o pai seja responsável pela persistencia dos filhos, supondo que vc tenha a lista de contatos mapeada em pessoa.
Voce pode tb a cada inserção na lista persistir contato a contato.

Ai a melhor forma fica de acordo com a suas regras de negocio.

[]'s

kelvis

valeu thiagocg…

vou ver o que faço aqui…

Se alguém tiver um exemplo prático tbm vale!!

Obrigado!

kelvis

Galera… Resolvi com a solução proposta pelo thiagocg!

verifico se o ID é null, se for eu dou persist senão eu dou um merge!

pronto!

Abraço á todos!

Criado 21 de outubro de 2010
Ultima resposta 25 de out. de 2010
Respostas 4
Participantes 2