Como tratar exceptions no Hibernate?

2 respostas
calel

No meu caso em específico, gostaria que se ocorresse o erro “violation of PRIMARY or UNIQUE KEY” o Hibernate ignorasse e continua com seus tramites.
Na época do JDBC eu checa pelo error code 1062 de SQL.
Vi na documentação que o método save do Hibernate lança uma exceção do tipo HibernateException, mas não consegui capturar esse erro dentro do catch, abaixo meu código.

public void importar(List<Tipo> lista){ for(Tipo t : lista){ try{ save(t); }catch(HibernateException e){ System.out.println(e.getMessage()); } } }

2 Respostas

samuel.grigolato

a exceção só é lançada quando o .commit() é executado na transação, precisa especificar mais quando isso ocorre na sua aplicação, se for uma aplicação Web por exemplo pode estar sendo gerenciada por um Filtro de requisições.

calel

Ah certo, agora consegui capturar o erro utilizando GenericJDBCException, conseguindo até a descobrir o código do mesmo…
Mas quando vc disse “precisa especificar mais quando isso ocorre na sua aplicação”, seria algum tipo de configuração do Hibernate? Fiquei perdido em como dizer pro Hibernate fazer o commit dos itens que não lançaram o erro de PK duplicada…

Criado 27 de julho de 2010
Ultima resposta 27 de jul. de 2010
Respostas 2
Participantes 2