将 UUID 添加到 neo4j spring 数据框架

Rom*_*lus 4 java spring spring-mvc neo4j spring-data-neo4j

背景 如果我使用 Spring Data,我正试图找出将 UUID 添加到 neo4j 的正确方法。

我见过:https : //dzone.com/articles/assigning-uuids-neo4j-nodes ,这里 aTransactionEventHandler用于在必要时插入 UUID。但是制作本教程的人并没有使用 spring 数据。

我也看过这个人的代码:https : //github.com/spring-projects/spring-data-neo4j/blob/master/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/ web/domain/User.java他们似乎在使用 java 的 java.util.UUID,然后将其转换为字符串并将其用作字符串实体并对其进行索引并从那里开始。这似乎是最简单的方法。

但是,在文档中:https : //docs.spring.io/spring-data/neo4j/docs/current/reference/html/他们似乎使用 UUID 作为他们的用例示例AddUuidPreSaveEventListener

问题

我应该使用哪种方法来添加 UUID?

我可以添加吗

...
import java.util.UUID;

import org.neo4j.ogm.annotation.Index;
import org.neo4j.ogm.annotation.typeconversion.Convert;
import org.neo4j.ogm.typeconversion.UuidStringConverter;

...

@Convert(UuidStringConverter.class)
@Index(unique = true, primary = true)
private UUID uuid = UUID.randomUUID();

...
Run Code Online (Sandbox Code Playgroud)

到我的 GraphType.java 文件并称它为好?

注意:我对所有这些技术都很陌生,可能仍然太缺乏经验,甚至无法就这些东西正确提问。

注 2:我之前看过图形感知 UUID 库,它似乎是最新的,但我认为如果我使用 spring 数据,可能有一种首选方法来制作 UUID。

Bru*_*res 5

您可以使用GraphAware Neo4j UUID库。

文档说:

GraphAware UUID是一个简单的库,它透明地将 UUID 分配给图中新创建的节点和关系,并确保没有人可以(无意或有意)更改或删除它们。

只需下载GraphAware Neo4j的框架和GraphAware Neo4j的UUID .jar文件/plugins目录,修改几行neo4j.conf文件并重新启动Neo4j的。在它之后,UUIDs将分配给 Neo4j 图中创建的每个节点/关系。

这种方法不依赖于 Spring 或 Spring Data。