保存对象时未获取DBRef

时间:2014-09-25 15:34:43

标签: mongodb spring-data-mongodb

我在另一个ObjectA中使用了ObjectB的DBRef。我想在使用部分ObjectB保存ObjectA时获取ObjectB(在此处理解ObjectB在保存ObjectA时仅包含其id)

当我执行此junit测试时,我可以看到在保存ObjectA时未获取DBRef。但是当我进行查询时,我会检索这些值。

    ObjectB objB = new ObjectB("name");

    //Using constructor with (name)
    objB = objectBRepo.save(objB);
    //Using constructor with (id, name)
    partialObjB partialObjB = new ObjectB(objB.getId(), null);

    ObjectA objectA = new ObjectA(partialObjB);
    objectASaved = repo.save(objectA);

    objectAQueried = objectARepo.findOne(objectAWithoutFetch);

    assertNotNull("Name should be defined", objectAQueried.getObjectB().getName());
    assertNotNull("Name should be defined", objectASaved.getObjectB().getName());

第二个断言失败了。

这是正常行为吗?我每次保存时都应查询对象吗?

0 个答案:

没有答案