我有以下对象层次结构:
class A {
@Id private String id;
...
@Reference private Set<B> setOfBs = ...
...
}
class B {
@Id private String id = ...
...
@Reference private Set<C> setOfCs = ...
...
}
class C {
@Id private String id = ...
...
}
当我使用Morphia(版本1.0.0-rc0)保存类型A的实体时,我在集合中看到以下JSON&#34; A&#34;:
{
"_id" : "CQ8RbtCINf",
"setOfBs" : [
DBRef("setOfBs", "9JZ5OnNBZD"),
DBRef("setOfBs", "aDPHCe01Ti")
]
}
上面的结构看起来不错,但我找不到B类和C类对象的集合。我只看到A的集合。
我可以通过&#34;解剖&#34;解决这个问题。 A对象,首先保存C对象,然后保存它们的父B对象,然后保存A对象。不确定这是否是正确的方法,或者我是否误用了Morphia。
作为额外信息,这是我的数据存储区初始化代码:
Morphia morphia = new Morphia();
morphia.mapPackage("com.company.application.model");
Datastore datastore = morphia.createDatastore(mongoClient, mongoDB);
datastore.ensureIndexes();
datastore.ensureCaps();