Tratamento de Exception no Hibernate Filter?

2 respostas
jsfjavahibernate
C

Gostaria de saber se alguém tem alguma solução para o seguinte problema. eu utilizo o Open Session In View do hibernate e quando acontece uma contraint violation por exemplo ele faz o rollback da transaction até ai tudo bem mas posteriormente ele lança uma ServletException e eu gostaria de saber como posso fazer para exibir uma mensagem para o usuario que isso aconteceu.

try {
	if (transaction.isActive()) {
		transaction.rollback();
	}
} catch (Throwable t) {
	t.printStackTrace();
}
throw new ServletException(ex);

2 Respostas

Lucas_Camara

De onde está vindo o ex usado na exceção ServletException?

C
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);
	}
}
Criado 14 de julho de 2017
Ultima resposta 15 de jul. de 2017
Respostas 2
Participantes 2