У меня есть таблица, в которой у меня есть поле даты, в котором по умолчанию установлено текущее время.Это прекрасно работает, когда я создаю строку на этой таблице.
Когда я обновляю эту строку, я ожидаю, что отметка времени будет автоматически обновлена, но она не обновляется.Ценю любые советы о том, что я делаю не так.
Это поле в моем классе сущностей.
// Date is of type import java.util.Date;
@UpdateTimestamp // expecting this to do the auto update.
@Temporal(TemporalType.TIMESTAMP)
private Date updatedAt;
Это запрос в моем интерфейсе репозитория.
// I don't intend to pass in current timestamp as a 3rd param for updateAt field. I expect it to just auto update to current time stamp.
@Modifying
@Query("update table as t set t.title =?1 where t.Id = ?2")
void update(String title, long id);
Приведенный выше запрос обновляет только заголовок и идентификатор, но не обновляет поле «Дата».Также попробовал следующее в классе Entity, который не имеет значения.
@PreUpdate
protected void onUpdate(){
updatedAt = new Date();
}