Boa noite pessoal,
Estou com dificuldades para fazer um atualizar utilizando JSF e Hibernate.
Eu fiz o Dao e o Bean porem quando eu clico no botão que deveria fazer a atualização ele não faz nada nem erro ele mostra.
Alguém poderia me ajudar por favor?
Segue o código abaixo:
Esse é o botão que deveria fazer o atualizar:
<p:commandButton action="#{finalizarChamadoBean.finalizar}" value="Finalizar" />
Esse é meu DAO:
[code]public class FinalizarChamadoDao {
private EntityManager manager;
public FinalizarChamadoDao(EntityManager manager){
this.manager = manager;
}
@SuppressWarnings("unchecked")
public List<Usuario> listarTodos(int pagina, int quantidadePorPagina){
Query query = manager.createQuery("SELECT x FROM Chamado x");
query.setFirstResult(pagina);
query.setMaxResults(quantidadePorPagina);
return query.getResultList();
}
public Chamado getProtocolo(int protocolo) {
Query query = manager.createQuery("SELECT u FROM Usuario u WHERE u.protocolo = :protocolo");
query.setParameter("protocolo", protocolo);
try {
return (Chamado) query.getSingleResult();
} catch (NoResultException e) {
return null;
}
}
public void finalizarChamado(Chamado finalizado){
manager.merge(finalizado);
manager.flush();
}
}[/code]
E esse é meu BEAN:
[code]public class FinalizarChamadoBean {
private EntityManager entityManager;
private FinalizarChamadoDao finalizarChamadoDao;
private Chamado chamado;
private Descricaochamado descricaoChamado;
private LoginBean loginBean;
public FinalizarChamadoBean(){
this.entityManager = JPAUtil.getEntityManagerFactory().createEntityManager();
this.finalizarChamadoDao = new FinalizarChamadoDao(this.entityManager);
this.descricaoChamado = new Descricaochamado();
this.loginBean = (LoginBean) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("loginBean");
}
public Chamado getChamado() {
return chamado;
}
public void setChamado(Chamado chamado) {
this.chamado = chamado;
}
public String finalizar(){
chamado.setDataFechamento(Calendar.getInstance().getTime());
chamado.setUsuario2(loginBean.getUsuarioLogado());
Statuschamado status = new GenericDao<Statuschamado>(entityManager, Statuschamado.class).ler(3); // lendo o status do bd
chamado.setStatuschamado(status);
descricaoChamado.setChamado(chamado);
descricaoChamado.setUsuarioBean(loginBean.getUsuarioLogado());
this.entityManager.getTransaction().begin();
try {
this.finalizarChamadoDao.finalizarChamado(chamado);
new GenericDao<Descricaochamado>(entityManager, Descricaochamado.class).criar(descricaoChamado);
this.entityManager.getTransaction().commit();
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Finalizado com sucesso!", ""));
} catch (PersistenceException e) {
e.printStackTrace();
if (this.entityManager.getTransaction()!=null && this.entityManager.getTransaction().isActive()) {
this.entityManager.getTransaction().rollback();
}
}
return "telaInicialUsuario.jsf";
}
public Descricaochamado getDescricaoChamado() {
return descricaoChamado;
}
public void setDescricaoChamado(Descricaochamado descricaoChamado) {
this.descricaoChamado = descricaoChamado;
}
}
[/code]