Interceptador ou ouvinte de hibernação com Spring Boot e Spring Data JPA
Eu gostaria de executar algumas verificações antes de salvar uma coleção de filhos de um objeto (cascade = all).
Estou usando o Spring Boot e o Spring Data JPA e fiquei imaginando qual seria a melhor abordagem: um ouvinte do Hibernate ou um interceptador. Quais são os prós / contras de cada um? Você tem um exemplo para aquele que considera a melhor abordagem?
Eu usei ouvintes do Hibernate antes de configurados em XML assim:
<property name="eventListeners">
<map>
<entry key="post-update">
<list>
<ref bean="myListener" />
</list>
</entry>
</map>
</property>
na fábrica da sessão (projeto mais antigo). Mas agora a maioria das minhas configurações está em anotações (causa o Spring Boot) e eu quero manter as configurações o mais simples e leve possível, para que talvez um interceptador seja uma solução melhor.
Obrigado.