首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我们可以用Spring将数据保存到neo4j中的关系中吗?

我们可以用Spring将数据保存到neo4j中的关系中吗?
EN

Stack Overflow用户
提问于 2021-03-11 00:48:36
回答 1查看 80关注 0票数 0

使用Cypher命令时,我可以很容易地将数据保存到relationship中,但在Spring D中,我不知道如何从两个节点之间的relationship中保存和获取数据。这是我的例子:

类User

代码语言:javascript
运行
复制
@NodeEntity
public class User {
    private String username;
    private String saltedPassword;
    private String lastIp;
    private boolean enabled;
    private Profile profile;

    @Relationship(type = "FOLLOWS")
    private Set<User> followings;
    @Relationship(type = "FOLLOWED_BY")
    private Set<User> followers;
    @Relationship(type = "HAS_POST")
    private Set<Post> posts;
    @Relationship(type = "HAS_COMMENT")
    private Set<Comment> comments;
    @Relationship(type = "HAS_VERITFICATION_TOKEN")
    private Set<VerificationToken> verificationTokens;
}

VertificationToken类

代码语言:javascript
运行
复制
@NodeEntity
public class VerificationToken {
    @Id
    @GeneratedValue(UUIDStringGenerator.class)
    private String id;
    private String token;
    private long expiryDate;

    @Relationship(type = "BELONG_USER")
    private User user;
}

两个节点之间的这种关系是HAS_VERIFICATION_TOKEN。就像现在一样。我只能在User中保存一个集合,但如果我需要向此关系中添加数据,则不能。

有人能帮帮我吗?提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2021-03-11 01:28:24

由于您使用的是Spring Data Neo4j 5(顺便说一句,它是而不是的最新主要版本),您可以引入一个@RelationshipEntity类来对UserVerificationToken实体之间的关系进行建模:

代码语言:javascript
运行
复制
@RelationshipEntity("HAS_VERIFICATION_TOKEN")
public class VerificationTokenOwnership {

    @Id
    @GeneratedValue
    private Long id;

    // add your extra properties here

    @StartNode
    private User user;

    @EndNode
    private VerificationToken token;

    // getters and setters

}

然后,您的User字段将变为:

代码语言:javascript
运行
复制
    @Relationship(type = "HAS_VERIFICATION_TOKEN")
    private Set<VerificationTokenOwnership> verificationTokens;

注意:同时拥有HAS_VERIFICATION_TOKENBELONG_USER关系似乎有点奇怪,理想情况下应该只有其中之一。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66569273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档