一个似乎很常见的问题,网上没找到答案。 用neo4j的时候,实体和实体之间有关系,那么在做实体的entity的时候,类似这样
@Node("Person")
@Data
public class PersonEntity {
@Id
@GeneratedValue
private Long id;
@Property(name = "name")
private final String name;
@Property(name = "born")
private final Integer born;
@Relationship(type = "FRIEND", direction = OUTGOING)
private Set<PersonEntity> friends = new HashSet<>();
public PersonEntity(Integer born, String name) {
this.born = born;
this.name = name;
}
}
这样人这个节点的entity里通过关系连接了人,这样在查询的时候会有循环引用。
同样在官方例子人和电影是一样的,电影的属性里有通过关系连到表演者,正常如人这个entity里不加关系连接到电影的时候,直接查询所有电影的时候就可以通过这条关系属性把相关的人也查询出来,但是如果人的属性里也通过关系连到电影,这样在查询的时候就报错了,因为是无限循环的。 这种一般怎么解决,难道就只能建立完全不包含关系属性的节点实体,再单独建立关系的实体,手动查询节点和关系,然后再组装数据了么。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。