我按照https://github.com/graphaware/neo4j-uuid链接为每个从Spring启动应用程序创建的neo4j节点生成UUID。 以下是我按照链接执行的步骤列表:
将graphaware-uuid-3.3.3.52.16.jar
个文件添加到Neo4jDB的\plugins
文件夹中
就我而言C:\Users\Naveen\AppData\Roaming\Neo4j Desktop\Application\neo4jDatabases\database-***\installation-3.3.2\plugins
在\ conf \ neo4j.conf文件中添加了以下配置
com.graphaware.runtime.enabled =真 com.graphaware.module.UIDM.1 = com.graphaware.module.uuid.UuidBootstrapper com.graphaware.module.UUID.uuidGeneratorClass = com.graphaware.module.uuid.generator.SequenceIdGenerator
在Spring启动应用程序中创建Model类
@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
属性。返回的Skill对象为uuid
属性保留空值。
我检查了Graphaware Framework and UUID not starting on Neo4j GrapheneDB和GraphAware UUID not generating个链接,但无法找到解决问题的方法。
请帮忙知道我做错了什么或者我错过了什么。
或建议任何替代的uuid
代解决方案。
使用的库和工具的版本详细信息:
Java 1.8.0_131
Neo4J 3.3.2 Enterprise
graphaware-uuid-3.3.3.52.16.jar
Spring boot 1.5.10
答案 0 :(得分:1)
在节点创建中不返回UUID属性,但仅在下一个事务中返回。
您可以使用Java应用程序检查它是否创建节点,并在Neo4j浏览器中查询此节点(或启动另一个事务并在Java应用程序中查询)。应该存在UUID属性。
答案 1 :(得分:1)
如@Bruno Peres
所述,所有配置和代码都是正确的,除了
我错过了在GraphAware Server
文件夹中复制Runtime jars
,\plugins
及其相关广告。这是我放在\plugins
文件夹中的jar列表,用于使用GraphAware成功启动Neo4j DB并生成UUID。
算法-3.0.4.43.5.jar
changefeed-2.3.2.37.7.jar
共3.3.3.52.jar
graphaware的UUID,3.3.3.52.16.jar
KRYO-2.24.0.jar
minlog-1.2.jar
NLP-3.3.2.52.6.jar
objenesis-2.6.jar
运行时3.3.3.52.jar
运行时API-3.3.3.52.jar
服务器3.3.3.52.jar
服务器共2.2.6.35.jar
弹簧豆,4.3.14.RELEASE.jar
弹簧上下文4.3.14.RELEASE.jar
弹簧上下文支持,4.3.13.RELEASE.jar
弹簧芯4.3.14.RELEASE.jar
弹簧表达-4.3.14.RELEASE.jar
timetree-3.3.3.52.27.jar
TX-API 3.3.3.52.jar
TX-执行,3.3.3.52.jar
UUID-3.2.jar
作家3.3.3.52.jar
writer-api-3.3.3.52.jar
GraphAware内部使用spring框架。这就是我在文件夹中包含弹簧罐的原因。