自定义ID搜索对象(searching for object with custom id)

2019-10-30 05:15发布

我有一个类,看起来像这样

@Data
@NodeEntity
public class StoryCharacter {
    @Index(unique = true)
    private String agnosticId;
    private String name;

    @Relationship(type = "FAMILIAR_WITH")
    private Set<StoryCharacter> acquaintances;
}

我需要的是不相关的默认定制ID long ID。 所以我介绍一个字段并将其设置为index

但如何找到该ID的对象?

我想要做这样的

session.openSession().load(StoryCharacter.class, "custom_id")

但它失败,错误,它必须是Long 。 我想,也许我需要使用Filter对象通过ID进行搜索。 或者有另一种方式?

Answer 1:

如果你想使用自定义ID字段必须与被注解@Id代替@Index(unique=true) 在情况下,你不想手动设置ID,有一个选项,以提供一个ID生成策略(更多详细信息的文档中 。

您看到此错误的原因的Neo4j-OGM不能确定是什么类型的id字段有回退到标准的Long 。 如果上述定义你的ID,在load正常工作。



文章来源: searching for object with custom id