Pessoal,
Estou desenvolvendo um sistema, e pintou a seguinte dúvida, no uso do Hibernate (JPA):
Qual a exceção é lançada quando ocorre uma violação de constraint? No caso um dos atributos da minha Entity tem as seguintes constraints: @Column(name = “nome”, nullable = false, unique= true)
O banco de dados está obedecendo corretamente às constraints… A dúvida é para o tratamento das Exceptions, e mostar ao usuário mensagens amigáveis:
No caso de tentar : entityManager.persist(entity); é lançada a exceção javax.persistence.EntityExistsException… Neste ponto está OK… Estou tratando corretamente…
Agora quando tento: entityManager.merge(entity);é disparada uma exceção diretamente pelo Hibernate (org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update )… Para não tornar meu código amarrado ao Hibernate, qual exceção eu deveria capturar neste caso??
Feliz Natal a todos!
[]s
Erick