Galera, gostaria de saber o que pode estar aconteçendo, o que estou fazendo errado, do jeito que esta não da erro, mas tbem não atualiza os dados nobanco,se inicio a transacao no metodo, e do comiit altera os dados no banco, porem apareçe este erro
org.hibernate.TransactionException: Transaction not successfully started, na linha 21 do HibernateSessionFilter ( linha 11 aqui no post )
public class HibernateSessionFilter implements Filter{
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HibernateUtil.openSession();
try{
HibernateUtil.currentSession().beginTransaction();
chain.doFilter(request, response);
HibernateUtil.currentSession().getTransaction().commit();
} catch (Exception e){
throw new ServletException(e);
} finally {
HibernateUtil.closeCurrentSession();
}
}
public void destroy() {
}
}
try {
Session session = HibernateUtil.currentSession();
Dao<Produto> pDao = new Dao<Produto>(session, Produto.class);
// if (imagens.isEmpty() || imagens == null) {
// } else {
//// Session s2 = HibernateUtil.currentSession();
//// Dao<Img> iDao = new Dao<Img>(s2, Img.class);
// for (int x = 0; x < imagens.size(); x++) {
// imagens.get(x).setProduto(produto);
// if (Utilitarios.CriaImagem(imagens.get(x), caminhoImagensProdutos)) {
// System.out.println("Imagem " + imagens.get(x).getNome() + " criada com sucesso;");
// deletaImgTemporaria(imagens.get(x).getNome());
// }
// }
// for (int x = 0; x < imagensDeletar.size(); x++) {
// deletaImgDefinitiva(imagensDeletar.get(x).getNome());
//// Img mage = iDao.load(imagensDeletar.get(x).getIdimg());
// System.out.println("DELETO"+imagensDeletar.get(x).getNome());
//// iDao.delete(mage);
// }
// imagensDeletar = new ArrayList<Img>();
// }
//
if(!jornal){
produto.setJornal(null);
}
produto.setImgList(imagens);
pDao.merge(produto);
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Produto alterado com sucesso!", "Informação"));
limpaTelaCadastroNovoProduto();
System.out.println("Alterou um produto.");
} catch (Exception e) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Não foi possivel alterar o produto selecionado, tente novamente!", "Aviso"));
System.out.println(e);
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<filter>
<filter-name>HibernateSessionFilter</filter-name>
<filter-class>modelo.dao.HibernateSessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HibernateSessionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>classes.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>
org.primefaces.webapp.filter.FileUploadFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
</web-app>
Alguem pode me ajudar?
Agradeço desde ja


