Método Salvar e Editar juntos

4 respostas
C

Ola caros colegas, tudo bom?

Estou com um problema aparentemente facil de resolver, porém não acho a solução. Estou utilizando RichFaces nas minhas telas. Tenho botão Salvar na tela que deveria salvar quando um Modelo de carro, por exemplo, não estivesse no banco e se esse modelo ja estivesse salvo ele só iria altera-lo.
O meu código do ManagedBean esta assim:
[b]public void finishAddTipoCombustivel() {

if (selectedTipoCombustivel.getDescricao() != null && selectedTipoCombustivel.getDescricao().isEmpty()) {
        setMensagemValidacao("* Preencha o campo descrição !");
    } else {
        transporteDAO.addTipoCombustivel(selectedTipoCombustivel);
        cachedCombustivel = null;
        selectedTipoCombustivel.setDescricao(null);
   }
}[/b]

Se alguém puder me ajudar eu agradeço.

Abraço.

4 Respostas

luxu

Olha num sei se entendi direito, o q vc quer é qdo clicar no botao SALVAR ele deve optar em Salvar(se naum existir) ou atualizar(se já tiver sido gravado antes), se for o framework HIBERNATE tem a opção disso chama saveOrUpdate, ou seja, dependendo do objeto passado ele já faz automaticamente…pesquise sobre isso…

aluisiodsv

Se estiver usando a especificação JPA 2 para o hibernate isso aí não tem não.
Vc teria q ver se o objeto tem id. Se tiver dá um merge, senão dá um persist.

C

é isso mesmo luxu, já useu a opção saveOrUpdate mas dai salva mesmo que já existe o dado no banco. Eu devo estar fazendo algo errado, a noite vou dar uma olhada nisso. Por enquanto, muito obrigado pela atenção de todos.

C

Olá amigos, td bom?

Resolvi meu problema. O médoto no DAO ficou assim:
[b]public void finishAddTipoCombustivel() {

if (selectedTipoCombustivel.getDescricao() != null && selectedTipoCombustivel.getDescricao().isEmpty()) {
        setMensagemValidacao("* Preencha o campo descrição !");
    } else {
        transporteDAO.addTipoCombustivel(selectedTipoCombustivel);
        cachedCombustivel = null;
        selectedTipoCombustivel.setDescricao(null);
   }
}[/b]

Obrigado a todos.

Abraço.

Criado 9 de março de 2011
Ultima resposta 10 de mar. de 2011
Respostas 4
Participantes 3