Пустой объект в ссылке DBRef (lazy = true) - PullRequest
0 голосов
/ 03 октября 2018

Новый пост с более простым тестовым примером моей проблемы

Ленивый DBRef моего класса должен вызывать LazyLoadingInterceptor и давать мне реальный объект за моей ссылкой, когда я получаю доступ к свойству, но ничего не происходит.


Неудачный тест

public class TestLazyLoadNotWorking {

    @Autowired
    ARepository aRepository;

    @Before
    public void setUp(){
        aRepository.deleteAll();
    }

    @Test
    public void TestLazyLoadNotWorking(){
        A a1 = new A("a1");
        A a2 = new A("a2");
        a1.a = a2;
        aRepository.save(a1);
        aRepository.save(a2);
        aRepository.findById("1").ifPresent(a -> assertThat(a.a.a_property).isNotNull());
    }

}

Класс данных

@Document
public class A {

    private static int counter = 0;

    @Id
    String id = Integer.toString(++counter);

    @DBRef(lazy = true)
    public A a;

    public String a_property;

    public A(String a_property){ this.a_property = a_property;}
}
...