복붙노트

[SPRING] DBRefs (Mongo Document references)는 열심히 가져 오지 않았습니다.

SPRING

DBRefs (Mongo Document references)는 열심히 가져 오지 않았습니다.

나는 스프링 데이터와 함께 가능한 가장 단순한 아바타에서 Mongo를 사용하고있다.

나는 두 개의 (일류) 엔티티 (@Documents) A와 B를 가지고 있는데, 여기서 A는 그 안에 B의 참조 (@DBRef)를 가지고있다. A와 B를 만들면 모든 것이 잘 작동합니다. 그러나 객체 A (ID로)를 읽을 때 참조 B는 항상 null입니다.

나는 DBRef가 기본적으로 열심히 반입된다고 믿는다. (http://static.springsource.org/spring-data/data-document/docs/current/reference/html/#mapping-usage-references 참조). 그. 어떤 아이디어?

해결법

  1. ==============================

    1.당신은 정확합니다, 어떤 DBRefs 열심히 가져온 있지만 열심히 (AFAIK) 저장되지 않습니다. A가 B에 대한 참조를 가지고 있다면, A를 저장할 때, Spring Data / MongoDB는 자동으로 B를 저장하지 않습니다.

    당신은 정확합니다, 어떤 DBRefs 열심히 가져온 있지만 열심히 (AFAIK) 저장되지 않습니다. A가 B에 대한 참조를 가지고 있다면, A를 저장할 때, Spring Data / MongoDB는 자동으로 B를 저장하지 않습니다.

    // 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);
    
  2. ==============================

    2.Spring Data Mongo M5 빌드로 옮겨 가면서이를 해결했습니다. 그때까지는 버그가되어야합니다.

    Spring Data Mongo M5 빌드로 옮겨 가면서이를 해결했습니다. 그때까지는 버그가되어야합니다.

  3. from https://stackoverflow.com/questions/8068807/dbrefs-mongo-document-references-not-fetched-eagerly by cc-by-sa and MIT license