LocalDateTime 精度问题装备我的 equals 和 hashCode 方法

LocalDateTime precision issue rig my equals and hashCode methods

我的模型中有 LocalDateTime 类型的审核字段。

我还使用 Lombok 实现 equalshashCode

在持久化(使用 ID)和获取(通过 ID)之间,精度有所下降。


我继续在编组之前和在持久层(数据库驱动程序)来回解组实体之后截断到秒(然后是毫秒)......但似乎还有更多。

最后,我在我的基础实体中手动实现了这些方法(作为对使用 Lombok 的反对)并在其中截断 LocaDateTime

问题:如何全局设置 LocalDateTime 精度(系统、spring-上下文或其他)?

Clock

您可以选择向 java.time 类.

提供备用 Clock

在您的情况下,您需要 Clock.tickSeconds。引用 Javadoc:

Obtains a clock that returns the current instant ticking in whole seconds using the best available system clock.

例如,要捕获与 UTC 的零时分秒截断为整秒的偏移量所见的当前时刻:

Instant instant = Instant.now( Clock.tickSeconds() ) ;