Olá pessoal,
Estou tendo um problema ao qual não consegui ainda pensar em uma solução que me pareça correta… procurei na internet mas também não tive sucesso !
É o seguinte… No projeto uso Spring e JPA + Hibernate
Possuo um DAO Genérico ao qual por exemplo possuo o método delete :
@Override
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
public void delete(T object) {
object = this.getEntityManagerFactory().merge(object);
this.getEntityManagerFactory().remove(object);
}
O problema é que o método remove do JPA gera uma exceção Runtime, então gostaria de trata-la nesse momento e gerar uma exceção minha obrigando as outras classes a tratar a exceção para poder gerar mensagens amigaveis ao usuário …
A questão é que como é com Spring e é feita a injeção dessa classe nas outras, eu não consigo capturar as exceções dentro do método delete no DAO, apenas no Service, nó metodo que chama o delete do DAO …
Existe alguma solução para isso, ou realmente em classes injetadas não é possivel tratar as exceções ?
Alguém pode me explicar isso melhor ?
Valeu,
Abraços