我研究了使用Java SDK存储日期和时间的DynamoDB选项。据我所知,Java8 LocalDate和LocalDateTime需要自定义转换器,而旧的日期、日历和Joda time LocalDateTime有一些注释。
根据文档,@DynamoDBTypeConvertedTimestamp支持标准的日期类型转换,如java.util.Calendar、Long。@DynamoDBTypeConvertedEpochDate可以将日期、日历和org.joda.time.DateTime转换为数值。
同时,如果我不在日期字段上放置任何注释,它就会像@DynamoDBTypeConvertedTimestamp一样被保存,甚至范围查询也会成功工作。
有没有人知道如何解释不同的可能方法,并对从DynamoDB存储和检索Java date和time对象的最佳方法提出意见?
发布于 2019-09-26 19:53:55
尝试使用@DynamoDBTyped注释日期字段,这是一个覆盖dynamoDB中标准属性类型绑定的注释。因此它会将date转换为Type =S属性,这是DynamoDM中的字符串。希望能有所帮助
@DynamoDBTyped(DynamoDBAttributeType.S)
private LocalDate startDate;
https://stackoverflow.com/questions/47218487
复制相似问题