簡體   English   中英

Lombok @Builder 如何創建具有值更改時間戳的字段?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM