Метод onFlushDirty(...)
(расширяет EmptyInterceptor в Hibernate) работает для меня, чтобы проверить грязную коллекцию. Родительская сущность с вложенной коллекцией передается в onFlushDirty, но я не знал, что переданная сущность может быть элементом коллекции. Как только я обнаружил, что это работает как для вложенной коллекции, так и для ее родительского объекта.
public class PropertyChangeInterceptor extends EmptyInterceptor{
public boolean onFlushDirty(Object entity, Serializable id, Object[] currentState, Object[] previousState, String[] propertyNames, Type[] types)
Другой метод, onCollectionUpdate(...)
, также можно использовать для обнаружения грязной коллекции, он вызывается после onFlushDirty(...)
.