在我的应用程序中,我想为某些列存储纪元时间,因为该应用程序将在多个时区中使用,并且我想避免DST等。
我一直在愉快地使用Java 8中的其他新时间类来表示DateTime等。但是,我在验证自己的模式时发现Instant希望使用Timestamp类型而不是INT。
Schema-validation: wrong column type encountered in column [lastMessageSeenAt] in table [groupchatmember]; found [int (Types#INTEGER)], but expecting [datetime (Types#TIMESTAMP)]]
鉴于时间戳是一个额外的字节,并且仅在2038年之前,我宁愿使用INT。
有没有办法告诉休眠状态将INT用于Instant?
lastMessageSeenAt INT(5) UNSIGNED NOT NULL DEFAULT 0
@Column(name = "lastMessageSeenAt")
private Instant lastMessageSeenAt = Instant.MIN;