【问题标题】:@CreationTimestamp and @UpdateTimestamp@CreationTimestamp 和 @UpdateTimestamp
【发布时间】:2017-02-11 19:39:16
【问题描述】:

这是我的博客课

@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 字段变为空。我希望 createdOn 字段保留创建它的时间戳。有人可以帮忙吗?

【问题讨论】:

  • 那些注解与 JPA 无关。首先定义它们来自哪里......
  • createdOn getter 遇到问题时遇到同样的问题。

标签: hibernate jpa annotations


【解决方案1】:

将 updateable=false 注释添加到您不想更新的字段。

以下是 createddate(仅可插入)和 modifieddate(可插入/可更新)的示例代码

@Column(name = "CreatedDate", updatable=false)
@CreationTimestamp
private Timestamp createdDate;

@Column(name = "ModifiedDate")
@UpdateTimestamp
private Timestamp modifiedDate;

【讨论】:

    猜你喜欢
    • 2019-04-09
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 2020-12-19
    • 2020-04-05
    • 1970-01-01
    • 2021-03-01
    相关资源
    最近更新 更多