java - 将 UUID 添加到 neo4j spring 数据框架

标签 java spring spring-mvc neo4j spring-data-neo4j

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

我看过: 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,然后将其转换为字符串并将其用作字符串实体并对其进行索引并从那里开始。这似乎是最简单的方法。

但是,在文档中: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 UUID 库,它看起来确实是最新的,但我认为如果我使用 spring 数据,可能会有一种首选的方法来制作 UUID。

最佳答案

您可以使用 GraphAware Neo4j UUID图书馆。

文档说:

GraphAware UUID is a simple library that transparently assigns a UUID to newly created nodes and relationships in the graph and makes sure nobody can (accidentally or intentionally) change or delete them.

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

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

关于java - 将 UUID 添加到 neo4j spring 数据框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46307910/

相关文章:

java - JUnit 自定义规则仅在带注释的方法上运行

java - Spring 启动 : Let servlet dispatcher address only static content or handlers

spring - 使用linkedIn访问 token 时缺少client_id

java - JPA错误: Transaction is currently active

java - 如何在运行时实例化 Spring 托管 bean?

java - Hibernate延迟加载重复数据

java - 将 map 传递给 JSP

java - 在Java中交换文本文件中的两行

java - 在 Spring Boot 中使用 LDAP 进行身份验证时出错原因 : [LDAP: error code 50 - Insufficient Access Rights]

java - 如何使用 hibernate 4.0 调用 ms sql 存储过程