Как пропустить @postPersist или @PostUpdate

#spring #hibernate #spring-data

#весна #спящий режим #весна-данные

Вопрос:

Я использую методы с аннотациями @postPersist и @PostUpdate. Однако только в одном определенном случае я бы не хотел вызывать этот метод во время сохранения объекта.

Есть ли возможность каким-то образом обернуть определенную EntityRepository.save, чтобы не вызывать методы, о которых я упоминал ранее? В любых других случаях мои postpersist и postupdate должны работать нормально.

Ответ №1:

Введите логическое поле в объект, который сигнализирует слушателям, что они должны быть пропущены. Установите этот флаг в своем варианте использования и используйте if (!skip) { ... } в прослушивателях. Другого пути нет.