首页 > 解决方案 > 有没有办法从 Neo4j 图数据库自动生成 java 类

问题描述

在我的应用程序中,我们选择 Neo4j 作为数据库。我们设计了具有所有必需节点和关系的数据库。我们正在尝试将我们的 springboot java 程序与反应式 neo4j 存储库集成。现在我们计划创建等效实体。

有什么方法可以从 Neo4j 图形数据库中自动生成 java 类,这相当于我们手动创建的 @Node 和 @RelationshipProperties 使用的实体。

标签: javaspring-bootneo4jspring-data-neo4jneo4j-ogm

解决方案


不,没有工具可以解决这个问题,当涉及到图中的“复杂”数据时,这通常是一件好事。

Spring Data Neo4j (6) 仅获取您在模型中定义的节点的关系和属性。如果您以 1:1 的比例绘制图表,您最终可能会得到不需要的图表。它们会污染您的代码库并创建不必要的长 Cypher 语句/数据传输。

我想说的是——与 RDBMS 的使用相比——在图形世界中有很多“共享数据库”的使用。应用程序中的域模型与图模型的部分匹配在这里也不例外。

此外,盲目地将您的数据转换为模型的工具只能做出假设。例如多个标签:您可以根据您在 Spring Data Neo4j 中的用例以多种方式定义它们。但是哪一个是适合该工具的呢?这可能会产生不是您想要的结果的代码,您必须在创建后手动重构它。想象一下在构建链中拥有这样一个工具:您将不得不一遍又一遍地手动微调生成的模型。


推荐阅读