背景--如果我使用的是neo4j数据,我正试图找出向neo4j添加UUID的正确方法。
我看到了:https://dzone.com/articles/assigning-uuids-neo4j-nodes,这里使用一个TransactionEventHandler在必要时插入一个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,然后将其转换为字符串,并将其用作字符串实体,并对其进行索引并从那里开始。这似乎是最简单的方法。
但是,在docs: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();
...我的GraphType.java文件并称之为好吗?
注意:我对所有这些技术都非常陌生,而且可能仍然缺乏经验,甚至无法就这些技术提出适当的问题。
注2:我以前见过graphaware库,它看起来确实是最新的,但是我假设如果我使用spring数据,可能会有一种更好的方法来生成UUID。
发布于 2017-09-19 19:06:56
您可以使用GraphAware Neo4j UUID库。
医生说:
GraphAware UUID是一个简单的库,它透明地为图中新创建的节点和关系分配UUID,并确保没有人可以(意外或故意)更改或删除它们。
只需下载GraphAware Neo4j框架和GraphAware Neo4j UUID .jar文件到/plugins目录,修改neo4j.conf文件中的几行并重新启动Neo4j。之后,UUIDs将分配给在Neo4j图中创建的每个节点/关系。
这种方法不依赖于Spring或Spring数据。
发布于 2021-11-19 11:16:26
现在有一种在春季数据中生成UUID的正式方法-- neo4j是通过使用UUIDStringGenerator。你可以这样用它
@Id
@GeneratedValue(generatorClass = UUIDStringGenerator.class)
private String id;然后将它作为字符串使用在您的neo4j存储库中。
https://stackoverflow.com/questions/46307910
复制相似问题