Java dynamodbpojo需要实现序列化吗?

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

我正在将大量数据保存到Amazon DynamoDB中。我正在使用
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


对于您上面提到的类型,我认为您不需要它。

谢谢,我也这么认为,但只是想确保我做的事情是正确的。