Есть ли способ автоматически генерировать java классов из базы данных графа Neo4j - PullRequest
2 голосов
/ 04 августа 2020

В моем приложении мы выбрали Neo4j в качестве базы данных. Мы разработали базу данных со всеми необходимыми узлами и связями. Мы пытаемся интегрировать в нашу программу springboot java с реактивным репозиторием neo4j. Теперь мы планируем создать эквивалентные сущности.

Есть ли способ автоматически генерировать java классы из графовой базы данных Neo4j, которые будут эквивалентны используемым сущностям @Node и @RelationshipProperties, которые мы создаем вручную.

1 Ответ

0 голосов
/ 26 августа 2020

Нет, для этого нет инструмента, и это в целом хорошо, когда дело доходит до «сложных» данных на графике.

Spring Data Neo4j (6) извлекает только отношения и свойства узел, который вы определяете в своей модели. Если вы сопоставите свой график 1: 1, вы можете получить те, которые вам не нужны. Они будут загрязнять вашу базу кода и создавать ненужные длинные операторы Cypher / передачи данных.

Я бы сказал, что в отличие от использования СУБД в мире графов часто используется «общая база данных». Частичное совпадение модели предметной области в приложении с моделью графа здесь не является исключением.

Также инструмент, который слепо преобразует ваши данные в модель, может только делать предположения. Например, несколько меток: вы можете определить их несколькими способами в зависимости от вашего варианта использования в Spring Data Neo4j. Но какой из них подходит для этого инструмента? Это может привести к получению кода, который не соответствует желаемому результату, и вам придется вручную реорганизовать его после создания. Представьте себе такой инструмент в цепочке сборки: вам придется вручную настраивать получившуюся модель снова и снова.

...