持久化时,JPA将TIMESTAMP字段设置为CURRENT_TIMESTAMP

时间:2009-08-26 15:01:31

标签: jpa timestamp

我在表上有一个TIMESTAMP列,在最初插入记录时设置为null。我想将值更新为当前时间。我生成的实体有一个字段的set方法:

setCloseDate(Timestamp closeDate)

但是我不想从java代码生成/指定时间戳。有没有办法在持久化实体时注释属性以指示在数据库级别使用当前时间?

如果没有,那么执行此类更新的好策略是什么?

我想要运行的查询是这样的:

update CASE_FILE set CLOSE_DATE=CURRENT_TIMESTAMP where ID=1

我刚刚开始使用JPA ......所以可能会遗漏一些相当明显的东西。谢谢!

1 个答案:

答案 0 :(得分:7)

在您的jpa实体类中使用当前时间戳列中的以下代码

@Column(name = "timestamp", nullable = false, updatable = false, insertable = false, columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
public Timestamp timestamp;