LocalDateTime 精度问题装备我的 equals 和 hashCode 方法
LocalDateTime precision issue rig my equals and hashCode methods
我的模型中有 LocalDateTime
类型的审核字段。
我还使用 Lombok 实现 equals
和 hashCode
。
在持久化(使用 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() ) ;
我的模型中有 LocalDateTime
类型的审核字段。
我还使用 Lombok 实现 equals
和 hashCode
。
在持久化(使用 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() ) ;