Я только что реконструировал ваш сценарий на основе вашего правильного кода, и он работает нормально. Я предполагаю, что при заполнении ваших данных что-то пошло не так. Поскольку этот фрагмент кода отсутствует, я не могу указать вам конкретную причину. Тем не менее, чтобы помочь вам, я обрисовал в общих чертах мои шаги, чтобы получить ваши полевые узлы.
Добавление репозитория FieldRepo:
public interface FieldRepo extends Neo4jRepository<Field, String> {
}
Заполнение вашего сценария:
Model model = new Model("modelId1", "Model1");
Field field = new Field("fieldId1", "Field1");
model.getFields().add(field);
Field field2 = new Field("fieldId2", "Field2");
model.getFields().add(field2);
modelRepo.save(model);
fieldRepo.save(field);
fieldRepo.save(field2);
Получение вашей информации:
Iterable<Model> resultModels = modelRepo.findAll();
for (Model resultModel : resultModels) {
System.out.println("Model: " + resultModel.getId() + " " + resultModel.getName());
for (Field resultField : resultModel.getFields()) {
System.out.println("\tField: " + resultField.getId() + " " + resultField.getName());
}
}
В результате вы получите ожидаемый результат:
Model: modelId1 Model1
Field: fieldId1 Field1
Field: fieldId2 Field2
Результат - графическое представление
Я надеюсь, что эта информация окажется полезной. Пожалуйста, не стесняйтесь спрашивать какие-либо неясные предметы.