【问题标题】:Making an Arbitrary Identifier in neo4j在 neo4j 中制作任意标识符
【发布时间】:2018-02-28 18:30:08
【问题描述】:

背景

我有一个 neo4j 和 spring 数据框架。

我有一个 NameType.java,它扩展了我的 GraphType.java。

我的 GraphType.java 有一个 Long id,我的 NameType 有一个 string name

我的目标是最终使String name 充当所有外部事物(REST 等)的 UUID。

问题

Long id 会自动变成@GraphId。我想将 NameType 中的 String name 设置为任意 ID,因此既是唯一的又是索引的。我希望我可以按照文档中的建议将@Id 注释到它:https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#__id_arbitrary_identifier

我说的对吗?这是解决这个问题的正确方法吗?

【问题讨论】:

  • 那么当你尝试它时会发生什么?

标签: java spring neo4j spring-data spring-data-neo4j


【解决方案1】:

您可以将@Id 用于您的uuid 属性,这是@Index(primary = true, unique = true) 的替代品,它将在调用时用于查找

  • repository.findOne("uuid")
  • session.load(MyType.class, "uuid")

AutoIndexManager 将为此创建正确的唯一约束。

您仍然需要为原生图形 ID 提供一个 Long 字段(名称 ID 或带有 @GraphId 注释)。

请参阅OGM docs 以获取正确版本(您链接的 SDN 文档似乎包含较新版本的 ogm 文档)。

【讨论】:

    猜你喜欢
    • 2012-02-21
    • 1970-01-01
    • 2011-06-23
    • 2011-06-27
    • 2015-09-14
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多