【发布时间】:2017-01-02 20:29:46
【问题描述】:
简而言之:
-
java.time.ZonedDateTime没有 args 构造函数(实际上它没有
构造函数) - 为了克服这个问题,我应该为 Morphia 写一个
ZonedDateTimeConverter - 如果我尝试在没有转换器的情况下保存和加载我的
ZonedDateTime,Morphia 将完整的ZonedDateTime对象保存为DBObject,这很酷,因为 我可以读取所有字段并从中启动 ZonedDateTime 对象 它,但我在加载时遇到异常:No usable constructor for java.time.ZonedDateTime - 如果我尝试使用转换器保存和加载
ZonedDateTime,我得到了 另一个例外:Can't find a codec for class java.time.LocalDateTime。我开始玩转换器,基于 在this 文章上,但没有任何结果。 - 因此,如果我没有转换器,我可以保存但无法加载,如果我有转换器,我什至无法保存,因为缺少编解码器。
有什么想法吗?
更新:
结果我应该为从ZonedDateTime 开始的每个子类型编写一个转换器(例如LocalDateTime、LocalDate、LocalTime),但结果我应该为java.time.ZoneRegion 编写一个转换器,它是包私有的。
【问题讨论】:
标签: java mongodb java-8 morphia zoneddatetime