小编Pra*_*een的帖子

DynamoDBMapper 映射实现接口的复合对象

考虑具有多个实现的接口

Public interface A {}

@DynamoDBDocument
Public class C1 implements A {
    variables…
}
@DynamoDBDocument
Public class C2 implements A {
    variables…
}

@DynamoDBTable
Public class TopLevelClass {
    A obj;   //It can be any implementation C1, C2 ….
    //Getter and setter of A 
}
Run Code Online (Sandbox Code Playgroud)

在 dynamoDB 中保存 C1 类型的对象工作正常,但我们无法反序列化它。Jackson 通过向 json 添加一个 @class 属性来帮助它确定要实例化的实现,但是 DynamoDBMapper 不知道并最终尝试实例化 A 的对象,这显然失败了,因为它只是一个接口。

有没有办法实现这一目标?我们不想使用编组器,因为它只会将整个对象反序列化为字符串并违背 DynamoDBDocument 类型的目的。

java amazon-dynamodb

5
推荐指数
0
解决办法
382
查看次数

标签 统计

amazon-dynamodb ×1

java ×1