Я хочу обновить некоторые поля объекта, а затем вернуть обновленный объект.В соответствующей таблице есть триггер обновления, который устанавливает текущую временную метку в столбце (я хотел бы сделать это на уровне базы данных, а не через JPA).
Сначала я использую метод find () для управления данными entitymanager, чтобы получитьсуществующий объект через его идентификатор, а затем обновите некоторые поля, используя установщики объекта.Однако, когда я возвращаю сущность, столбец / поле обновления моей сущности Java не обновлялся, даже если он обновлялся в таблице базы данных с помощью триггера обновления.
Я пробовал метод refresh () entitymanagerпосле установки измененных значений, но кажется, что это аннулирует все мои изменения (возможно, так как объект еще не был зафиксирован?).
1) Есть ли лучший способ получить правильные значения, кроме разрешениятранзакция фиксирует, а затем снова извлекает сущность, используя find ()?
2) Я не совсем уверен, как аннотировать столбец «последнее изменение» в моей сущности.Каков наилучший способ аннотировать поле, которое изменяется только триггером базы данных?Прямо сейчас я использую (так как я хочу, чтобы триггер базы данных обновлял это поле):
@Column(name = "last_changed", nullable = false, insertable = false, updatable = false)
Есть ли у кого-нибудь полезные сведения по этому поводу?Любая помощь приветствуется, спасибо!