Lombok @Builder如何创建一个字段的时间戳值的变化?



我有以下类:

@Data
@Builder
public class SampleClass<String, String> {
@NonNull
String key;
@NonNull
String value;
}

是否有办法为类初始化和值changed/edited/updated添加时间戳??

我已经尝试添加:

@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();
}
}

最新更新