Anda benar, setiap DBRefs diambil dengan penuh semangat, tetapi mereka tidak disimpan dengan penuh semangat (AFAIK). Jika A memiliki referensi ke B, saat Anda menyimpan A, Spring Data/MongoDB tidak secara otomatis menyimpan B, Anda harus melakukannya.
// Incorrect, upon retrieval a.getB() == null
A a = new A();
a.setB(new B());
repositoryA.save(a);
// Correct (to the best of my knowledge)
B b = repositoryB.save(new B());
A a = new A();
a.setB(b);
repositoryA.save(a);