Spring Data UpdateTimestamp для определенного столбца - PullRequest
0 голосов
/ 25 октября 2018

Я использую Spring Boot и Spring Data для своего проекта.В одной из таблиц у меня есть столбец с именем "itemStatus".Теперь я хочу добавить еще один столбец с меткой timeStamp, например, «itemStatus_LastModifiedDate», чтобы сохранить дату последнего обновления в столбце itemStatus.

Есть ли способ сделать это чисто с помощью некоторых аннотаций, таких как:

@LastModifiedDate
@UpdateTimestamp
private Date itemStatusLastModifiedDate

Потому что, насколько я знаю, это выше работает только при обновлении сущности, а не определенного столбца.

1 Ответ

0 голосов
/ 25 октября 2018

1 Нельзя использовать аннотацию @UpdateTimestamp для отслеживания обновления одного поля.

2 Пользовательское обновление можно выполнить с помощью аннотации @SqlUpdate с пользовательским запросом на обновление.Примерно так (я не проверял этот код)

@SqlUpdate(update item set item_status = :itemStatus, itemStatusModDate = case when (item_status = :itemStatus) then sysdate() else item_status_mod_date where id = :id)
public class Item {

  @GeneratedValue
  private Long id;

  private String itemStatus;

  private Date itemStatusModDate;
..................................................
}
...