gpt4 book ai didi

java - DynamoDB POJO 是否需要实现序列化?

转载 作者:行者123 更新时间:2023-11-30 08:48:17 24 4
gpt4 key购买 nike

我正在将大量数据保存到 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);

一切正常,但我只是想知道我是否应该对所有保存到数据库中的 POJO 实现可序列化(当然,它们是通过网络发送的)。这是一个好的做法还是我应该避免?

最佳答案

我认为 DynamoDbMapper 可以开箱即用地处理主要数据类型,如字符串、整数、日期等。对于复杂类型的序列化,您需要有自己的自定义编码器来实现 DynamoDBMarshaller 并在您的类型上使用它们。如果你想使用 json,内置的 JsonMarshaller,它应该使用 jackson,它根本不依赖于 Serializable

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

关于java - DynamoDB POJO 是否需要实现序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32045389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com