我有以下类:
@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();
}
}