我是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
上的属性不会保存。
答案 0 :(得分:1)
是的,您必须在roles
实体中注释Actor
。
如果您使用的是neo4j-ogm 1.1.3或更早版本,请确保在创建新角色时将其添加到roles
实体中的Actor
集合中。
如果你正在使用neo4j-ogm 1.1.4-SNAPSHOT,那么你的代码应该有用(在你注释roles
之后)