Métodos Salvar ou Salvar/Atualizar, qual a melhor prática?

Tratando-se de inserções/atualizações no BD, o que é melhor prática:

Criar somente um método ‘salvar’ ou criar dois métodos um ‘salvar’ e um ‘atualizar’.

Sendo que se existir somente o método ‘salvar’, este verifica se o registro já existe, e em caso afirmativo, somente atualiza.

Agradeço suas opiniões!

Com certeza é mais elegante criar um metodo para atualizar e outro para salvar!

Apenas um método salvar() ‘inteligente’, claro! O hibernate e o rails (ActiveRecord) são assim, só pra ficar em dois exemplos da moda.

Não seria criar/atualizar ? :roll:

Cara, quis dizer o seguinte:

Salvar = INSERT no Banco de dados.
Atualizar = UPDATE no Banco de dados.

Qual sua opinião?
Abraço

Bem, isso é bem relativo e pode variar de projeto para projeto.

Mas eu acho mais interessante ter dois metodos distintos para realizar este processo… mesmo que tenha um terceiro metodo gerenciador. Exemplo:

private boolean atualizarRegistro(tipo param){
        //retorna true se afetar uma ou mais linhas
}

private void inserirRegistro(tipo param){
        //insere dado no banco
}

//metodo gerenciador
public void persistirInformacao(tipo param){ //um nome melhor seria bom... rs
        if !(atualizarRegistro(param){
                inserirRegistro(param)
        }
}

Esta é a minha opiniao…
Espero ter ajudado,

Nadilson