Java Jackson序列化循环引用堆栈溢出错误
我正在尝试使用Jackson对象映射器序列化我的POJO,如下所示,我得到堆栈溢出异常,请对此提供帮助。提前谢谢Java Jackson序列化循环引用堆栈溢出错误,java,json,serialization,jackson,overflowexception,Java,Json,Serialization,Jackson,Overflowexception,我正在尝试使用Jackson对象映射器序列化我的POJO,如下所示,我得到堆栈溢出异常,请对此提供帮助。提前谢谢 public class ServiceCategoryModel { private Integer svcCode; private String svcName; @JsonBackReference private Collection<ServiceCategoryModel> children; .... } 公共类Se
public class ServiceCategoryModel {
private Integer svcCode;
private String svcName;
@JsonBackReference
private Collection<ServiceCategoryModel> children;
....
}
公共类ServiceCategoryModel{
私有整数码;
私有字符串名称;
@JsonBackReference
私人收藏儿童;
....
}
在我做了如下更改后,它可以正常工作
@Entity
@Table(name="svc_category")
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
public class ServiceCategoryDomain extends BaseDomain{
private static final long serialVersionUID = -5873300401604877065L;
@Column(name="svc_cde")
@NotNull
private Integer svcCode;
@Column(name="svc_name")
@NotNull
private String svcName;
@JsonBackReference("parent")
@ManyToOne
private ServiceCategoryDomain parent;
@JsonManagedReference("children")
@OneToMany (cascade = {CascadeType.ALL},mappedBy="parent")
private Collection<ServiceCategoryDomain> children=new ArrayList<>();
..................
}
@实体
@表(name=“svc\U类别”)
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class,property=“id”)
公共类ServiceCategoryDomain扩展了BaseDomain{
私有静态最终长serialVersionUID=-5873300401604877065L;
@列(name=“svc\u cde”)
@NotNull
私有整数码;
@列(name=“svc\u name”)
@NotNull
私有字符串名称;
@JsonBackReference(“父项”)
@许多酮
private ServiceCategoryDomain父代;
@JsonManagedReference(“子项”)
@OneToMany(cascade={CascadeType.ALL},mappedBy=“parent”)
private Collection children=new ArrayList();
..................
}
看起来您得到了一个bean,其中子对象中的一个引用指向同一个bean对象。@DarshanMehta-是的,Darshan您给了我正确的方向thanks@TheHeadRush-上面的链接正是我想要的,我做了如下更改后解决了问题。非常感谢