Boa noite galera
Estou com um problema em tratar a exceção que é lançada quando eu tento remover um dado que ainda pertence em outra tabela
A exeção lançada quando isso acontece é
0:35:27,606 ERROR [org.hibernate.util.JDBCExceptionReporter] ERROR: update or delete on table "frente_de_caixa" violates foreign key constraint "fk96841dda6225a8a" on table "cliente"
Detail: Key (frente_de_caixa_id)=(3) is still referenced from table "cliente".
20:35:27,606 WARN [com.arjuna.ats.arjuna] ARJUNA-12125 TwoPhaseCoordinator.beforeCompletion - failed for SynchronizationImple< 0:ffff7f000101:126a:4e7a7ffd:97, org.hibernate.transaction.synchronization.HibernateSynchronizationImpl@1a92563a >: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1215) [:3.6.6.Final]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1148) [:3.6.6.Final]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1154) [:3.6.6.Final]
at org.hib
Essa exceção é tratada pelo container direto?
Porque ela é lançada quando eu tento remover o dado da minha tabela com o método
public void delete(final ENTITY object){
ENTITY e = em.merge(object);
em.remove(e);
}
Eu tentei capturar essa exceção porém as 2 operações do código são executadas normalmente.
Eu gostaria de poder capturar essa exceção pra poder mostrar uma mensagem pro usuário, se tiver algum outro modo de eu consiguir mostrar essa mensagem pro usuário sem capturar essa exceção, estou aceitando dicas.
Se alguém puder ajudar, ficarei grato
Atenciosamente
