Olá srss… e srs(a).
Estou fazendo um botão de atualizar, seria da seguinte forma.
Em um data table, em cada linha eu coloquei um botão de apagar e editar, então quando eu clico no botão de editar os dados são mostrados na mesma pagina que também contém os campos de cadastro, mas na hora que eu clico em atualizar, os dados não é atualizado na DataTable. Coloquei um Breack no metodo atualizar, e verifiquei que o campo de id está vindo nulo e os demais estão corretos e atualizados. (Estou usando Mysql com auto incremento ).
Se alguém puder me ajudar eu agradeço…
BEAN ATUALIZAR
public void atualizar(){
EntityManager em = null;
EntityTransaction trans = null;
try {
em = JPAUtil.getEntityManager();
trans = em.getTransaction();
trans.begin();
em.refresh(departamento);
trans.commit();
listar();
JSFUtil.addMsg("OK ! ", "Departamento atualizado com sucesso ! ", FacesMessage.SEVERITY_INFO);
limpar();
} catch (Exception e) {
JSFUtil.addMsg("Erro ! ", "Houve um erro ao atualizar o Departamento ", FacesMessage.SEVERITY_ERROR);
if (trans != null && trans.isActive()) {
trans.rollback();
}
}
}
BOTÃO EDITAR
<p:commandButton icon=“ui-icon-pencil” action=“cadastro-departamento.xhtml” ajax=“false”>
<f:setPropertyActionListener value="#{item}" target="#{departamentoBean.departamento}"/>
</p:commandButton>
BOTÃO ATUALIZAR
<p:commandButton value=“Atualizar” action="#{departamentoBean.atualizar()}" ajax=“false” icon=“ui-icon-refresh”/>