BaseEntity. java (Каждый класс сущностей расширяет BaseEntity)
@EntityListeners({EntityAuditor.class})
public abstract class BaseEntity {
...
}
EntityAuditor. java
class EntityAuditor {
@PostPersist
void logEntityCreate(Object entity) {
...
}
@PostUpdate
void logEntityUpdate(Object entity) {
...
}
...
}
Теперь, когда я вызываю findByXyz
репозиторий (который имеет аннотацию @transactional) из моего теста, он вызывает метод @PostUpdate. Я понимаю, что JPA пытается сделать DB flu sh в данный момент. Но у меня нет никаких изменений в БД до того, что не передано в БД. Я проверил данные БД до и после триггера. Обновляются только поля отметок времени и версии. Как мне убедиться, что ловушки JPA срабатывают, только если у меня есть что-то, что нужно сохранить в БД?