これは私のブログクラスです
@Entity
@Component
@Table
public class Blog implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
private String id;
private String name;
private String Description;
@CreationTimestamp
private Date createdOn;
@UpdateTimestamp
private Date updatedOn;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return Description;
}
public void setDescription(String description) {
Description = description;
}
public Date getCreatedOn() {
return createdOn;
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
public Date getUpdatedOn() {
return updatedOn;
}
public void setUpdatedOn(Date updatedOn) {
this.updatedOn = updatedOn;
}
}
タイムスタンプcreatedOnとupdatedOnは、新しいブログが作成されると正常に保存されますが、既存のブログが更新されると、updatedOnフィールドが更新され、createdOnフィールドはnullになります。 createdOnフィールドに、作成されたタイムスタンプを保持させたい。誰かが助けることができますか?
更新したくないフィールドにupdateable = falseアノテーションを追加します。
以下は、createddate(挿入可能のみ)およびmodifieddate(挿入可能/更新可能)のサンプルコードです。
@Column(name = "CreatedDate", updatable=false)
@CreationTimestamp
private Timestamp createdDate;
@Column(name = "ModifiedDate")
@UpdateTimestamp
private Timestamp modifiedDate;