开发者社区> 问答> 正文

springboot + 图数据库neo4j 节点关系实体问题

一个似乎很常见的问题,网上没找到答案。 用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里不加关系连接到电影的时候,直接查询所有电影的时候就可以通过这条关系属性把相关的人也查询出来,但是如果人的属性里也通过关系连到电影,这样在查询的时候就报错了,因为是无限循环的。 这种一般怎么解决,难道就只能建立完全不包含关系属性的节点实体,再单独建立关系的实体,手动查询节点和关系,然后再组装数据了么。

展开
收起
1888751034309213 2022-09-20 17:20:05 521 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载