Spring: como capturar javax.persistence.RollbackException dentro do DAO?

Construí meus DAOs usando como base este exemplo.

No método persist() adicionei tratamento para a PersistenceException. A exceção é lançada corretamente, porém posteriormente é lançada uma RollbackException, que se não for tratada no método que utiliza o DAO aborta a aplicação.

Como o tratamento que faço para a PersistenceException é repetitivo, gostaria que ele ficasse encapsulado no DAO.

Alguma idéia?

Obrigado,
Felipe