n00*_*00b 7 java datetime amazon-dynamodb
我在我的java应用程序中使用java.time.LocalDateTime.我也试图使用DynamoDBMapper并通过注释保存LocalDateTime变量.不幸的是我收到以下错误:
DynamoDBMappingException: Unsupported type: class java.time.LocalDateTime
Run Code Online (Sandbox Code Playgroud)
有没有办法让这个映射不使用DynamoDBMarshalling?
Syl*_*gat 17
没有AWS DynamoDB Java SDK无法在不使用任何注释的情况下本地映射java.time.LocalDateTime.
要执行此映射,您必须使用DynamoDBTypeConvertedAWS Java SDK 1.1120版中引入的注释.从此版本开始,DynamoDBMarshalling不推荐使用注释.
你可以这样做:
class MyClass {
...
@DynamoDBTypeConverted( converter = LocalDateTimeConverter.class )
public LocalDateTime getStartTime() {
return startTime;
}
...
static public class LocalDateTimeConverter implements DynamoDBTypeConverter<String, LocalDateTime> {
@Override
public String convert( final LocalDateTime time ) {
return time.toString();
}
@Override
public LocalDateTime unconvert( final String stringValue ) {
return LocalDateTime.parse(stringValue);
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用此代码,存储的日期将以ISO-8601格式保存为字符串,如下所示:2016-10-20T16:26:47.299.
| 归档时间: |
|
| 查看次数: |
6293 次 |
| 最近记录: |