【问题标题】:JPA set TIMESTAMP field to CURRENT_TIMESTAMP when persistingJPA 在持久化时将 TIMESTAMP 字段设置为 CURRENT_TIMESTAMP
【发布时间】:2010-11-23 01:13:35
【问题描述】:

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

setCloseDate(Timestamp closeDate)

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

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

在幕后我要运行的查询是这样的:

update CASE_FILE set CLOSE_DATE=CURRENT_TIMESTAMP where ID=1

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

【问题讨论】:

  • 这看起来类似于stackoverflow.com/questions/221611/…
  • 它类似于那个问题,但不一样,因为那个问题是关于一个总是更新的最后修改的时间戳,而这是关于存储一个单独的日期字段,但希望它是当前时间戳数据库服务器而不是应用程序服务器上。

标签: jpa timestamp


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-12-09
    • 1970-01-01
    • 2019-11-18
    • 2016-10-23
    • 1970-01-01
    • 2020-06-13
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    相关资源
    最近更新 更多