gpt4 book ai didi

Java 8 Time API 与 Hibernate 使用毫秒/纳秒精度

转载 作者:行者123 更新时间:2023-11-30 06:10:39 24 4
gpt4 key购买 nike

我有一个非常简单的实体,它使用新的 Java 8 Time API。

@Entity
@Table(name = "event")
public class Event {

@Id
@GeneratedValue
@Column(name = "id")
private long id;

@Column(name = "time")
private LocalDateTime time;

// ommitted
}

为了正确支持转换,我使用

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>5.1.0.Final</version>
</dependency>

但是,数据库中的记录保存方式类似于 2018-05-12 22:24:31,它完全忘记了 LocalTime 中的纳秒。我知道 TimestampDate 都不能存储纳秒,但我至少需要毫秒精度。有可能实现这一目标吗?

如果相关,我正在使用 MySQL 数据库。

最佳答案

将列类型更改为

DATETIME(6) 

目前,由于 DATETIME 的整数性质,您的第二个分数丢失了这里有该主题的 MySQL 文档 https://dev.mysql.com/doc/refman/8.0/en/fractional-seconds.html

引用

DATETIME(fsp)

The fsp value, if given, must be in the range 0 to 6. A value of 0 signifies that there is no fractional part. If omitted, the default precision is 0. (This differs from the standard SQL default of 6, for compatibility with previous MySQL versions.)

关于Java 8 Time API 与 Hibernate 使用毫秒/纳秒精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50310477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com