В нашем базовом классе сущностей (из которого происходят все сущности) у нас есть, среди прочего, 2 метода. Один помечен @PrePersist
, который в основном просто устанавливает dateCreated
, а другой помечен @PreUpdate
, который устанавливает dateUpdated
поле.
Это прекрасно работает, так как мы не хотим устанавливать поле dateUpdated
при создании. Как часть дизайна, мы также делаем два метода protected
, чтобы другие разработчики не пошли и явно не связались с этими двумя датами (также без установщиков).
Кроме того, мы можем достаточно легко расширить любую сущность, чтобы задать поле dateUpdated
при создании, определив метод для фактической сущности, а также аннотировать его с помощью @PrePersist
, так что эта часть покрыта.
Теперь, моя проблема на данный момент в том, что есть случай, когда мы хотели бы явно обновить поле dateUpdated
на объекте, без каких-либо данных об этом (в основном touch
это). Есть ли элегантный способ сделать это? Я действительно не хочу реализовывать метод, который меняет одно из его полей, а затем меняет его обратно. И мы хотели бы, чтобы в этих полях были сущности без методов установки.
Спасибо!