【问题标题】:Create Node and Relationship in one query : Spring Data Neo4j在一个查询中创建节点和关系:Spring Data Neo4j
【发布时间】:2014-01-04 20:09:53
【问题描述】:

我正在尝试使用 Spring Data Neo4j 使用 Neo4j 创建新节点和关系。我的用例是在 2 个用户节点之间添加好友关系。所以这归结为:

User user1 = userRepo.findByPropertyValue("userId1", userId1);
User user2 = userRepo.findByPropertyValue("userId2", userId2);

if(user1 == null){
    createUserObject(userId1);
}

if(user2 == null){
    createUserObject(userId2);
}

user1.isFriend(user2);

userRepo.save();

所以这包括对数据库的 2 次调用 (findByPropertyValue)。这是正确的还是有其他方法可以做到这一点?也许将整个事情集中到一个请求中?

谢谢..

【问题讨论】:

    标签: neo4j spring-data-neo4j spring-data-graph


    【解决方案1】:

    您可以使用单个密码查询来完成这两项操作:

    START user1=node:User(userId={userId1}),
          user2=node:User(userId={userId2})
    CREATE UNIQUE (user1)-[:FRIEND]-(user2);
    

    用户 ID 作为参数传入地图。

    您也可以为此使用带注释的存储库方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-23
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      • 2016-11-29
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      相关资源
      最近更新 更多