[英]Lombok @Builder How create a field with timestamp of value change?
我有以下課程:
@Data
@Builder
public class SampleClass<String, String> {
@NonNull
String key;
@NonNull
String value;
}
有沒有辦法為類初始化和值更改/編輯/更新時添加時間戳?
我嘗試添加:
@Temporal(TemporalType.TIMESTAMP)
private TimeStamp editedAt;
但似乎不是我要找的。
您可以通過幾個選項來實現它。 但是,龍目島幫不了你。 您必須使用其他選項。
您可以使用@CreationTimestamp
和@UpdateTimestamp
:
@Column
@CreationTimestamp
@Temporal(TemporalType.TIMESTAMP)
private Date createAt;
@Column
@UpdateTimestamp
@Temporal(TemporalType.TIMESTAMP)
private Date editedAt;
另一種方法是使用@PrePersist
& @PreUpdate
:
@Data
@Builder
public class SampleClass {
// other fields
@Column
@Temporal(TemporalType.TIMESTAMP)
private Date createdAt;
@Column
@Temporal(TemporalType.TIMESTAMP)
private Date updatedAt;
@PrePersist
protected void onCreate() {
createdAt = new Date();
}
@PreUpdate
protected void onUpdate() {
updatedAt = new Date();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.