Pra*_*een 5 java amazon-dynamodb
考虑具有多个实现的接口
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 类型的目的。