我按照https://github.com/graphaware/neo4j-uuid链接为从 Spring 启动应用程序创建的每个 neo4j 节点生成 UUID。这是我按照链接执行的步骤列表:
将文件添加到Neo4jDB 的
graphaware-uuid-3.3.3.52.16.jar
文件夹中。 就我而言\plugins
C:\Users\Naveen\AppData\Roaming\Neo4j Desktop\Application\neo4jDatabases\database-***\installation-3.3.2\plugins
在 \conf\neo4j.conf 文件中添加了以下配置
com.graphaware.runtime.enabled=true com.graphaware.module.UIDM.1=com.graphaware.module.uuid.UuidBootstrapper com.graphaware.module.UUID.uuidGeneratorClass=com.graphaware.module.uuid.generator.SequenceIdGenerator
在 Spring Boot 应用程序中创建模型类
@NodeEntity public class Skill { @GraphId private Long graphId; @Property(name = "uuid") private Long uuid; @Property(name = "skillName") private String skillName; //...getters and setters }
创建 Spring Neo4j 数据存储库接口
public interface SkillRepository extends GraphRepository<Skill> { }
启动 Neo4j DB 并加载 Spring 上下文并测试配置:
public Skill createkill() { Skill skill = new Skill(); skill.setSkillName("Java"); skill = skillRepository.save(skill); return skill; }
问题:在 Neo4j DB 中创建节点并graphId
自动uuid
填充属性,但未填充属性。返回的技能对象为uuid
属性持有空值。
我检查了Graphaware Framework 和 UUID not started on Neo4j GrapheneDB和GraphAware UUID not generate links 但找不到任何解决我的问题的方法。
请帮助了解我做错了什么,或者我是否遗漏了什么。或建议任何替代uuid
代解决方案。
使用的库和工具的版本详细信息:
Java 1.8.0_131
Neo4J 3.3.2 Enterprise
graphaware-uuid-3.3.3.52.16.jar
Spring boot 1.5.10