保存 RelationshipEntity 不工作

Saving RelationshipEntity not working

我是 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;
}

并为每个实体 class 定义 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);

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

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

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

如果您使用的是 neo4j-ogm 1.1.4-SNAPSHOT,您的代码应该可以工作(在注释 roles 之后)