如何解决neo4j中的循环递归调用
我正在尝试使用spring-data-neo4j在neo4j db中输入几个图节点。
节点之间具有以下关系。
Project -> Cluster -> Entity -> Methods
和实体节点与其自己的节点具有关系,使其成为双向关系。
实体类定义如下。
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class,property = "id")
@NodeEntity
public class Entity {
public int id;
public String type;
public String name;
public String entityId;
Public String projectId;
@Relationship(type = "CONNECTS_TO",direction = Relationship.INCOMING)
private Set<Entity> entityIdr;
}
尝试插入“群集”和“实体”节点时,抛出以下错误,有什么可能的解决方案以避免遵循该错误?
com.fasterxml.jackson.databind.JsonMappingException:无限 递归(StackOverflowError)(通过参考链:
解决方法
我假设您尝试序列化数据并将其公开在Web层或类似的层上,对吗?
杰克逊序列化需要获得有关如何打破Java数据模型描述的周期的更多信息。
因此,要么忽略@JsonIgnore
之类的属性,要么
@JsonIgnore
@Relationship(type = "CONNECTS_TO",direction = Relationship.INCOMING)
private Set<Entity> entityIdr;
,但至少在第一级看来就像是信息丢失, 或
@JsonIgnoreProperties("entityIdr")
@Relationship(type = "CONNECTS_TO",direction = Relationship.INCOMING)
private Set<Entity> entityIdr;
我们在Neo4j-OGM的文档中对此进行了编写:https://neo4j.com/docs/ogm-manual/current/reference/#_a_note_on_json_serialization
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。