Aguem sabe como implementar com jpa, Open Session View?
eu coloquei aqui embaixo o que fiz, mas nao tenho certeza se esta correto.
E como depois nos no dao eu acessaria o EntityManager para executar as operações com o Banco de dados.
public class OpenSessionViewFilter implements Filter{
private EntityManager em;
private EntityManagerFactory emf;
@Override
public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {
System.out.println("Fazendo filtro");
try {
em = emf.createEntityManager();
em.getTransaction().begin();
chain.doFilter(req, res);
em.getTransaction().commit();
} catch (Throwable e) {
try {
if(em.getTransaction().isActive()){
em.getTransaction().rollback();
}
} catch (Throwable t) {
System.out.println("problemas no filter");
t.printStackTrace();
}
}finally{
em.close();
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
emf = JPAUtil.getInstance().getEmf();
}
}
[]s e desde já obrigado.