【问题标题】:Spring-Data-Neo4j: Cannot create relationship between entities using neo4jtempalte createRelationshipBetween)() methodSpring-Data-Neo4j:无法使用 neo4jtempalte createRelationshipBetween)() 方法创建实体之间的关系
【发布时间】:2014-12-06 17:12:27
【问题描述】:

我正在使用 spring-data-neo4j 创建两个节点之间的关系,但关系不会持续存在。服务器没有抛出异常。当我获取节点时,其中有一个空值。我正在使用 Neo4jTemplate createRelationshipBetween() 方法。以下是我的代码:

关系实体:

@RelationshipEntity(type=RelationshipTypes.FRIEND)
public class FriendsRelationship extends BaseEntity{

@StartNode
@Getter @Setter
private Person person;
@EndNode
@Getter @Setter
private Person friend;
@Getter @Setter
private String friendsType;
}


public class CreateEntitiesRelationship {

@Autowired
private Neo4jTemplate neo4jTemplate;

-------------------------------

public FriendsRelationship createRelationshipBetweenPersons(Person person, Person friend, 
        Class<FriendsRelationship> relationshipEntity, String friendshipType) {
    FriendsRelationship relationship = neo4jTemplate.createRelationshipBetween(person, friend, relationshipEntity, RelationshipTypes.FRIEND, false);
    neo4jTemplate.save(relationship);
    return relationship;
}
}

实际问题是什么,我无法弄清楚。如果 Neo4j,我是新手。

【问题讨论】:

  • 尝试使用 @Transactional 注释 createRelationshipBetweenPersons 方法。

标签: java spring-data-neo4j


【解决方案1】:

试试这个代码:

 {
    Person _person = neo4jTemplate.save(person); 
    Person _friend = neo4jTemplate.save(friend);
    FriendsRelationship relationship = neo4jTemplate.createRelationshipBetween(_person, _friend, relationshipEntity, RelationshipTypes.FRIEND, false);
    neo4jTemplate.save(relationship);//optional. saved by default
    return relationship;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多