我在另一个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());
第二个断言失败了。
这是正常行为吗?我每次保存时都应查询对象吗?