У меня есть объект с полями
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "edit_timestamp",
columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
private Date editTimestamp;
@Version
@Column(name = "edit_count")
private short editCount;
private String text;
Когда я пытаюсь обновить с помощью Spring-Data-JPA , я замечаю, что edit_count был увеличен, но edit_timestamp по-прежнему остается прежним. Если я вручную вызываю SQL
UPDATE post SET TEXT='456' WHERE post_id=1;
, edit_timestamp обновляется. Если я добавлю
@PreUpdate
protected void onUpdate() {
editTimestamp = new Date();
}
, он будет работать без проблем. У меня вопрос, почему без @PreUpdate edit_timestamp не обновляется?