保存RelationshipEntity不起作用

时间:2015-11-24 07:13:59

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

我是Neo4J的新手并使用Spring数据存储库。以下是域名定义

@NodeEntity
public class Actor {
    Long id;
    private Set<Role> roles;
}

@RelationshipEntity(type="PLAYED_IN")
public class Role {
    @GraphId   private Long relationshipId;
    @Property  private String title;
    @StartNode private Actor actor;
    @EndNode   private Movie movie;
}

@NodeEntity
public class Movie {
    private Long id;
    private String title;
}

为每个实体类定义GraphRepository 以下代码不保存RelationshipEntity

Actor actor = new Actor("actorName");
actor = actorRepository.save(actor);

Movie movie = new Movie("movieTitle");
movie = movieRepository.save(movie);

Role role = new Role(actor, movie, "roleTitle");
role = roleRepository.save(role);

我是否必须在roles课程中注释Actor变量?
在保存roles之前,我是否必须填充Actor集合?如果我这样做,则Role上的属性不会保存。

1 个答案:

答案 0 :(得分:1)

是的,您必须在roles实体中注释Actor

如果您使用的是neo4j-ogm 1.1.3或更早版本,请确保在创建新角色时将其添加到roles实体中的Actor集合中。

如果你正在使用neo4j-ogm 1.1.4-SNAPSHOT,那么你的代码应该有用(在你注释roles之后)