Java dynamodbpojo需要实现序列化吗?
我正在将大量数据保存到Amazon DynamoDB中。我正在使用Java dynamodbpojo需要实现序列化吗?,java,serialization,amazon-dynamodb,Java,Serialization,Amazon Dynamodb,我正在将大量数据保存到Amazon DynamoDB中。我正在使用AmazonDynamoDBClient(有时使用DynamoDBMapper)来执行这些任务 这是一个说明该过程的示例: @Data @DynamoDBTable(tableName = "Results") public class Result extends DynamoEntity { @DynamoDBHashKey private String hashKey; @DynamoDBAttribute
AmazonDynamoDBClient
(有时使用DynamoDBMapper
)来执行这些任务
这是一个说明该过程的示例:
@Data
@DynamoDBTable(tableName = "Results")
public class Result extends DynamoEntity {
@DynamoDBHashKey
private String hashKey;
@DynamoDBAttribute
private String period;
@DynamoDBAttribute
private String customerId;
@DynamoDBAttribute
private double actualCost;
@DynamoDBAttribute
private double estimatedCost;
@DynamoDBHashKey
public String getHashKey() {
if (hashKey == null) {
hashKey = period + "-" + customerId;
}
return hashKey;
}
}
以及保存记录:
private static final AmazonDynamoDB amazonDynamoDB = new AmazonDynamoDBClient();
private static final DynamoDBMapper mapper = new DynamoDBMapper(amazonDynamoDB);
mapper.save(record);
一切正常,但我只是想知道是否应该对保存到DB中的所有POJO实现Serializable(当然,它们是通过网络发送的)。这是一种好的做法还是应该避免呢?我认为
DynamoDbMapper
适用于原始数据类型,如string、int、date等。对于复杂类型的序列化,您需要有自己的自定义封送拆收器来实现DynamoDBMarshaller
,并在您的类型上使用它们。如果您想使用json,内置的JsonMarshaller
,它应该使用jackson,它根本不依赖于Serializable
对于您上面提到的类型,我认为您不需要它。谢谢,我也这么认为,但只是想确保我做的事情是正确的。