Retornar para <p:dataTable Somente valor salvo na tabela #primesface

Pessoal estou em fase de aprendizado java web, e estou com esse problema que não consigo solucionar. Ao clicar no botão novo do meu <p:commandButton ele abre um <p:dialog onde Cadastro o Gerente, depois de salvo no banco, o <p:dialog é fechado e queria que ele atualizasse a <p:dataTable somente com o valor que acabou de ser salvo, e não atualizando na listagem onde contem todos…

Segue os códigos

!) Meu cabeçalho do html e botão novo pra abrir o <p:dialog

<p:growl id="mensagem" />
	<h:form id="formListagem">
		<p:panel header="Gerente - Listagem">
			<p:dataTable id="tabela" emptyMessage="Nenhum Registro Encontrado"
				paginator="true" rows="5" value="#{gerenteController.listGerente}"
				var="gerente">
				<f:facet name="footer">
					<p:commandButton value="Novo" oncomplete="PF('dialogo').show();"
						actionListener="#{gerenteController.novo()}" update=":mensagem :formListagem:tabela " />			
				</f:facet>
				<p:column headerText="Código">
					<h:outputText value="#{gerente.codigo}" />
				</p:column>
                       ..
                       ..
                       ..
                       ..
                       ..
                       ...

2)Meu <p:dialog com o <p:commandButton onde chamo o Controller pra salvar no banco e fechar o <p:dialog

                                       ...
                                       ...
                                       ...
                                       ...
<h:panelGrid columns="2">
				<p:commandButton value="Salvar"
					actionListener="#{gerenteController.salvar()}" icon="ui-icon-check"
					update=":mensagem :formListagem:tabela"
					oncomplete="´PF('dialogo).hide()" />
				<p:commandButton value="Fechar" icon="ui-icon-close"
					oncomplete="PF('dialogo').hide();" />
			</h:panelGrid>
  1. Meu gerenteController
public void salvar() {
		try {
			GerenteDAO gerenteDAO = new GerenteDAO();
			gerenteDAO.merge(gerente);
			
			this.gerente = new Gerente();
			this.listGerente = gerenteDAO.listar();
			Messages.addGlobalInfo("Gerente " + this.gerente.getNome() + " Salvo com Sucesso!!!");
		} catch (RuntimeException e) {
			Messages.addGlobalError("Ocorreu ao salvar o Gerente " + e);
			e.printStackTrace();
		}

	}