无法使用@CreationTimestamp和@UpdateTimeStamp注释生成创建和更新时间戳

时间:2014-10-06 20:52:39

标签: java hibernate annotations timestamp

我正在尝试生成创建和更新时间戳,并且根据this jboss link我在Hibernate模型文件中有以下代码:

@CreationTimestamp
@Column(name = "create_date")
private Date createDate;

@UpdateTimestamp
@Column(name = "update_date")
private Date updateDate;

当我运行测试时,Postgres服务器会出现以下错误“ERROR:列中的空值”create_date“违反了非空约束。”提交后。

但是,一切正常如果我将上面的代码更改为以下代码:

private Date createDate;
private Date updateDate;

@CreationTimestamp
@Column(name = "create_date")
public Date getCreateDate() {
    return this.createDate;
}

public void setCreateDate(Date createDate) {
    this.createDate = createDate;
}

@UpdateTimestamp
@Column(name = "update_date")
public Date getUpdateDate() {
    return this.updateDate;
}

public void setUpdateDate(Date updateDate) {
    this.updateDate = updateDate;
}

我知道它应该可以使用第一种方法,但我无法找到为什么没有getter和setter它就无法工作。

0 个答案:

没有答案