Hibernate interceptor u oyente con Spring Boot y Spring Data JPA

Me gustaría ejecutar algunas comprobaciones antes de guardar una colección de elementos secundarios de un objeto (cascada = todos).

Estoy usando Spring Boot y Spring Data JPA y me preguntaba qué enfoque sería el mejor: un oyente de Hibernate o un interceptor. ¿Cuáles son los pros / contras de cada uno? ¿Tienes un ejemplo para el que consideras el mejor enfoque?

He usado oyentes de Hibernate antes configurados en XML como este:

    <property name="eventListeners">
        <map>
            <entry key="post-update">
                <list>
                    <ref bean="myListener" />
                </list>
            </entry>
        </map>
    </property>

en la fábrica de sesiones (proyecto anterior). Pero ahora la mayoría de mis configuraciones están en anotaciones (porque Spring Boot) y quiero mantener las configuraciones lo más simples y livianas posible, por lo que quizás un interceptor sería una mejor solución.

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta