Meu problema é o seguinte: eu tenho um método num EJB que faz um delete no meu EntityManager.
Eu gostaria de capturar a exceção quando o delete não obtem êxito, nesse caso por causa de violação de Foreign Key.
Porém, o método delete passa liso e a execução vai até o final do método do EJB sem gerar erro.
No fim do método, automaticamente a deleção é feita efetivamente no banco de dados, aparece a SQL no console e, então, o stack trace do erro de violação de constraint.
Eu gostaria de capturar essa Exception, mas não faço ideia de como fazê-lo.
Alguém pode me ajudar?
outra possibilidade seria no seu método delete vc chamar o método flush pois o mesmo força a escrita da sql e vai te apresentar o erro esperado nakele momento.