【发布时间】:2021-12-03 14:26:54
【问题描述】:
这是我的实体列,名为createdDate,我通过User's phone-number 和message text 的值找到它。在 MySQL 中它可以正常工作。
@Column(name = "created_date", insertable = false, updatable = false,
columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
private LocalDateTime created_date;
但一般来说,我使用 Oracle,我想像 MySQL 一样将 createdDate 值声明为 CURRENT_TIMESTAMP。我是这样添加的,效果很好。
@CreationTimestamp
@ColumnDefault("CURRENT_TIMESTAMP")
protected LocalDateTime createdDate;
但是 createdDate 的值存储到这样的表中 2021-10-15 14:46:27.219000
我不想这样,我想像这种格式将数据存储到数据库中
yyyy-MM-dd HH:mm:ss
不知何故,我没有在 JPA 中使用 Oracle 数据库给出默认值。如何解决?有什么办法可以解决或删除第二个值的结尾?
【问题讨论】:
-
TIMESTAMP列根本没有任何格式。您看到的任何格式都由您在 显示 值时使用的 SQL 客户端应用。 -
你试过
CURRENT_TIMESTAMP(0)吗? -
@a_horse_with_no_name 提到的内容非常重要,应该可以消除您的疑问。如果您仍有疑问,我建议您检查与 Java 中的日期时间类型相关的The standard library does not support a formatted Date-Time object.,但事实保持不变,即数据库或语言存储/处理日期时间类型的信息,而不是格式化。
标签: java oracle spring-boot jpa