В Hibernate реализация PostUpdateEventListener позволяет подключаться к рабочему процессу Hibernate и дает вам возможность проверять и сравнивать старые и новые значения свойств сущности по мере ее сохранения ( PostUpdateEvent имеет методы getOldState () и getState () , которые возвращают массив этих значений). Для стандартных свойств это работает просто отлично. Однако, если одно из этих свойств представляет собой коллекцию, чье содержимое изменилось, это не поможет: «старое значение» и «новое значение» являются одной и той же ссылкой на коллекцию (поскольку коллекция Сам не изменился, только его содержание). Это означает, что вы можете видеть только самое последнее, то есть «новое» содержимое этой Коллекции.
Кто-нибудь знает, существует ли способ определить, как элементы коллекции, принадлежащие сущности, изменились на этом этапе рабочего процесса?