@Override
    public void salvar(Cliente cliente) {
        try {
            conn = ConnectionFactory.getConnection();
            String sql = "INSERT INTO cliente (id, nome, cpf) "
                       + "VALUES ((SELECT NVL(MAX(id),0)+1 FROM cliente), ?, ?)";
            ps = conn.prepareStatement(sql);           
            ps.setString(1, cliente.getNome());
            ps.setString(2, cliente.getCpf());
            ps.executeUpdate();
        } catch(SQLException e){
            throw new RuntimeException("Erro " + e.getSQLState()
                                       + " ao atualizar objeto: "
                                       + e.getLocalizedMessage()); 
        } catch (ClassNotFoundException e) {
            throw new RuntimeException("Erro ao conectar no banco: "
                                       + e.getMessage());
        } finally {
            close();
        }
    }