【问题标题】:Is there any way to automatically generate java classes from Neo4j graph database有没有办法从 Neo4j 图数据库自动生成 java 类
【发布时间】:2020-11-24 06:42:38
【问题描述】:
在我的应用程序中,我们选择 Neo4j 作为数据库。我们设计了具有所有必需节点和关系的数据库。我们正在尝试将我们的 springboot java 程序与反应式 neo4j 存储库集成。现在我们正计划创建等效实体。
有没有办法从 Neo4j 图形数据库中自动生成 java 类,相当于我们手动创建的 @Node 和 @RelationshipProperties 使用的实体。
【问题讨论】:
标签:
java
spring-boot
neo4j
spring-data-neo4j
neo4j-ogm
【解决方案1】:
不,没有工具可以解决这个问题,对于图表中的“复杂”数据,这通常是一件好事。
Spring Data Neo4j (6) 仅获取您在模型中定义的节点的关系和属性。
如果您以 1:1 的比例绘制图表,您最终可能会得到不需要的图表。它们会污染您的代码库并创建不必要的长 Cypher 语句/数据传输。
我想说,与 RDBMS 的使用相比,在图形世界中有很多“共享数据库”的使用。
应用程序中的领域模型与图模型的部分匹配在这里也不例外。
此外,盲目地将您的数据转换为模型的工具也只能做出假设。
例如。多个标签:您可以根据您在 Spring Data Neo4j 中的用例以多种方式定义它们。
但是哪一个是适合该工具的呢?
这可能会产生不是您想要的结果的代码,您必须在创建后手动重构它。
想象一下在构建链中拥有这样一个工具:您必须一遍又一遍地手动微调生成的模型。