我在项目中使用Spring Boot和Spring Data。在其中一张表中,我有一列称为“ itemStatus”。现在,我想添加另一个带有时间戳的列,例如“ itemStatus_LastModifiedDate”,以将最新更新的日期保留在itemStatus列中。
有没有一种方法可以借助一些注释来干净地做到这一点:
@LastModifiedDate
@UpdateTimestamp
private Date itemStatusLastModifiedDate
因为据我所知,上述内容仅在对实体(而非特定列)进行更新时才有效。
答案 0 :(得分:0)
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;
..................................................
}