Neo4J OGM заменяет коллекции при загрузке, теряя уже гидратированные данные - PullRequest
0 голосов
/ 21 мая 2019

Я использую встроенную базу данных Neo4J OGM для хранения и загрузки репозитория из файловой системы.

Сохранение данных в БД уже работает хорошо, но загрузка их обратно в объектную модель имеет свои трудности.

Я столкнулся со следующим поведением:

NeoRepository repo = neoSession.load(NeoRepository.class, 0L); <-- STEP 1

/** load associations */
neoSession.loadAll(NeoAssociation.class, 4); <-- STEP 2

Код загружает весь Репозиторий с использованием глубины по умолчанию, которая просто загружает несколько дочерних объектов, но, что интересно, не всеих.Некоторые отношения остаются пустыми.Следовательно, я должен загрузить другие дочерние объекты вручную.

На следующем рисунке видно состояние после STEP1 .Репозиторий в основном загружен, включая функции и модули (70 элементов), но дочерние объекты Associations не были загружены.

Для загрузки Ассоциации , STEP2 пытается загрузить все из них вручную, используя Loadall .На следующем рисунке показан результат строки STEP2:

enter image description here

Как видите, пока загружено Association , всеколлекции были заменены.Размер модулей больше не 70 предметов, а только один предмет.Коллекция функций была заменена, но ее элементы остались прежними.

Это поведение совершенно непредсказуемо для меня.Может ли кто-нибудь помочь и пролить свет на эти проблемы?

Большое спасибо!

...