У меня есть несколько сущностей с полями date_created и date_modified, и я пытаюсь, чтобы эти поля автоматически устанавливались при вставке или обновлении.date_created устанавливается только при вставке, но date_modified устанавливается при вставке или обновлении.
В моем классе сущности есть метод с аннотацией @PreUpdate, но, кажется, он вызывается только при обновлении сущности.Он не вызывается, когда вставляется новый объект.В документации говорится об этом событии preUpdate:
«Событие preUpdate наступает до операций обновления базы данных до данных объекта.»
Это правильное поведение?Если это так, как лучше всего вызвать метод перед обновлением или вставкой?В настоящее время, если я помечаю метод как @PreUpdate и @PrePersist, тогда он работает, но я не уверен, что это оптимально:
/**
* @PreUpdate
* @PrePersist
*/
public function beforeSave()
{
if (!$this->getCreatedAt()) {
$this->setCreatedAt(new \DateTime());
}
$this->setModifiedAt(new \DateTime());
}