Boa tarde,
Pessoal é o seguinte estou com um problema. Comecei a desenvolver uma aplicação usando o hibernate.cfg.xml porém devidos as circustâncias teria que modifica-lá é fazer ela usa uma persistence.xml. Na minha aplicação eu possuo um HibernateFilter... segue o código
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import com.peticwizard.util.HibernateUtil;
@WebFilter(urlPatterns = { "*.jsf" })
public class ConexaoHibernateFilter implements Filter {
private SessionFactory sf;
public void init(FilterConfig config) throws ServletException {
this.sf = HibernateUtil.getSessionFactory();
}
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain chain)
throws ServletException {
Session currentSession = this.sf.getCurrentSession();
Transaction transaction = null;
try {
transaction = currentSession.beginTransaction();
chain.doFilter(servletRequest, servletResponse);
transaction.commit();
if (currentSession.isOpen()) {
currentSession.close();
}
} catch (Throwable ex) {
try {
if (transaction.isActive()) {
transaction.rollback();
}
} catch (Throwable t) {
t.printStackTrace();
}
throw new ServletException(ex);
}
}
public void destroy() {
}
}
Sei que o persistence.xml possui algumas particularidades. Minha dúvida é seguinte: Preciso fazer alguma controle de transação ou algo do tipo ou é só usar o persistence.xml. Haaa, adotei o wildfly como servidor.
Obrigado