在休眠中格式化时间戳

时间:2017-07-17 14:15:50

标签: java spring hibernate

每次创建或更新实体时,我都会尝试保存时间戳。

@CreationTimestamp
@Column(name = "created_At")
private Date createdAt;

@UpdateTimestamp
@Column(name = "updated_at")
private Date updatedAt;

问题是这会以unix时间格式保存时间戳。我希望它以格式" yyyy-MM-dd HH:mm:ss"保存。

我尝试使用@PrePersist@PreUpdate注释执行此操作但由于某种原因,在创建/更新实体时不会调用这些方法。

还有其他控制格式的方法吗? 注意:我不确定它是否相关,但我使用的是Spring框架

1 个答案:

答案 0 :(得分:0)

您将数据存储在数据库中。 DB将日期字段始终作为其内部格式存储,例如来自EPOC的毫秒数或类似的内容。客户有责任阅读并以任何希望的格式显示它。在java中读取Date字段后,您可以在显示之前以任何方式格式化Date。对于您使用的任何数据库查看器都是如此。您通常可以将其配置为以您想要的任何格式在DB中显示日期字段,但在DB内部将以数据库内部格式存储。