Ola, estou com problemas para tratar exception no hibernate, por exemplo:
Session sessao = HibernateUtility.getSession();
Transaction tx = sessao.beginTransaction();
Curso curso = new Curso();
curso.setNome("Desenvolvimento de Software");
curso.setDescricao("Curso só pra programadores");
sessao.save(curso);
transaction.commit();
sessao.close();
Observei que nao foi necessário colocar a rotina sessao.save(curso) dentro de um bloco try catch ! E se por acaso der algum erro e o hibernate nao consiguir persisir o objeto ?
coloque um tratamento simples de try…catch
implemente uma exception que Identifique claramente oque aconteceu lance sua exception e trate-a, e nao esqueca de dar rollback na transacao
Se for um ambiente CMT voce vai ter que usar outra abordagem
É justamente o que gostaria de fazer, mas acho estrano o hibernate nao lancar nenhuma exception na chamada de suas rotinas. Eu pensei em algo do genero:
Me pergunto… seria uma RuntimeException !? Como vc implementaria ?
O exemplo do codigo acima foi so como exemplo… mas o tratamento de exception que estou tentando criar esta relacionado aos meus DAOs como segue o artigo do hibernate http://www.hibernate.org/328.html
Não consegui implementar o tratamento de exception nesse caso.
Desde já muito obrigado.
capturar a Exception inteira eu acho complicado, pois pode mascarar erros de Runtime que nao tem nada a ver com hibernate
todas as excecoes do hibernate derivam (ou sao encapsuladas) por um HibernateException… capture essa