我有一个遗留数据库结构,其中每个数组元素都被包装为键值:
"field" : [
{
"_id" : ObjectId("123456789012345678901234")
}, {
"_id" : ObjectId("123456789012345678901235")
}
]
我可以在Java中对其进行建模而不引入中间对象吗? 例如。
之类的东西@SomeMagicAnnotation("_id")
List<ObjectId> field;
答案 0 :(得分:1)
由于这些文档,Morphia需要一个类结构来映射。但是,您可以使用@PostLoad
迭代该数组并创建仅包含ObjectId
个值的新数组。拥有此新阵列后,您可以将其放回DBObject
put("field", newArray)
。这将使它看起来像Morphia的一大堆ObjectID
值,然后可以将其映射到List<ObjectID>
。