Вы можете использовать javax.persistence аннотации с @PrePersist и @ PreUpdate.
@ PrePersist
Он будет вызван перед сохранением данные в базе данных, с updatable = false
будут записаны только один раз.
@ PreUpdate
Они будут вызваны перед вставкой данных в базу данных, и он вызывается при каждой вставке.
Ваша сущность должна наследовать класс AbstractEntity, указанный ниже:
@MappedSuperclass
public class AbstractEntity implements Serializable {
private static final long serialVersionUID = -8087154111957605234L;
@Column(name = "CREATED_AT", updatable=false)
private Date createdAt;
@Column(name = "UPDATED_AT")
private Date updatedAt;
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
@PrePersist
protected void onCreate() {
createdAt = new Date();
}
@PreUpdate
protected void onUpdate() {
updatedAt = new Date();
}
}