无法使用morphia创建引用的实体

时间:2015-12-21 16:58:01

标签: java mongodb morphia

我有以下对象层次结构:

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();

0 个答案:

没有答案