Duvida com tratamento de erros no hibernate

1 resposta
L

como fazer pra tratar um erro de chave primaria,tipo tentar excluir o registro pai sendo que ele tem filhos da o seguinte erro no console no hibernate:

Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)

Até ai td bem mas como eu posso capturar este erro e exibir uma mensagem personalizada para o usuario?
Obrigado,abraços.

1 Resposta

L

Consegui resolver isso parcialmente so que tenho que pegar o erro no Dao e exibira a mensagem a partir de lá,nao seria correto exibir a mensagem a partir do controlador?? vejam o codigo:

no Dao:

public void excluir(Estado objeto) {						
						session = HibernateUtil.getInstance();
						Transaction tx = null;
						try {
							tx = session.beginTransaction();							
							session.delete(objeto);							
							tx.commit();							
						} catch (HibernateException e) {							
							e.printStackTrace();
							EnviaMensagens envm = new EnviaMensagens();
							envm.mensagem("estadovioalacao");
				            tx.rollback();
						} finally {
							session.close();
						}
					}

No controlador

public String excluir(){
		try{
		IDaoEstado ldao = new DaoEstado();
		Estado estado = getEstadoFromEditOrDelete();
		ldao.excluir(estado);
		getTodos();
		return "sucessoDeleteEstado";
		}catch(Exception ex){
			
			EnviaMensagens envm = new EnviaMensagens();
			envm.mensagem("estadovioalacao");			
			ex.printStackTrace();
			return "";
		}
Criado 4 de julho de 2008
Ultima resposta 4 de jul. de 2008
Respostas 1
Participantes 1