如何从 spring 正确引导的映射中引用不同的域模型?
How to reference a different domain model from within a map with spring boot correctly?
我有以下 mongodb 文档:
{
"_id" : ObjectId("57a068b13a4b500d7f2c72a2"),
"results" : [
{
"position" : NumberInt(12),
"product" : DBRef("product", ObjectId("579f92cfcb22890ba7b0ae15"))
}
]
}
如何使用 spring-data-mongodb 将此文档正确映射到 spring 引导 domain/model class?
在模型中使用以下属性是可行的,但我认为它不够清楚,因为我必须确保地图中的对象是 objectId 或 DBRef。
private List<Map<String, Object>> results;
创建单独的结果模型并使用 private List<Result> results;
也没有用。
大致相当于这个的东西应该可以解决问题:
class MyDocument {
ObjectID id;
List<Result> results;
…
}
class Result {
int position;
@DBRef Product product;
…
}
class Product {
ObjectId id;
}
重要的部分:
- 基本文档中嵌入对象的专用类型。
- 使用
@DBRef
指向引用文档的指针
- 引用对象必须使用
ObjectId
作为标识符类型
我有以下 mongodb 文档:
{
"_id" : ObjectId("57a068b13a4b500d7f2c72a2"),
"results" : [
{
"position" : NumberInt(12),
"product" : DBRef("product", ObjectId("579f92cfcb22890ba7b0ae15"))
}
]
}
如何使用 spring-data-mongodb 将此文档正确映射到 spring 引导 domain/model class?
在模型中使用以下属性是可行的,但我认为它不够清楚,因为我必须确保地图中的对象是 objectId 或 DBRef。
private List<Map<String, Object>> results;
创建单独的结果模型并使用 private List<Result> results;
也没有用。
大致相当于这个的东西应该可以解决问题:
class MyDocument {
ObjectID id;
List<Result> results;
…
}
class Result {
int position;
@DBRef Product product;
…
}
class Product {
ObjectId id;
}
重要的部分:
- 基本文档中嵌入对象的专用类型。
- 使用
@DBRef
指向引用文档的指针
- 引用对象必须使用
ObjectId
作为标识符类型