最近我遇到了这个错误,
无法在杰克逊中处理复合键的托管/反向引用“defaultreference”
我用谷歌搜索了很多,但发现以下选项可以使用,
JsonManagedReference 和 JsonBackReference
但我的情况是,
Class Parent{
private int id;
@JsonManagedReference
Set<Child> childSet;
}
Class Child{
private ChildId childId;
private String name;
}
Class ChildId{
private int childKey;
@JsonBackReference
private Parent parent;
}
如您所见,在子类中它有一个复合键。我无法更改它,因为它与 DB 有关系。
有人可以帮我解决这个问题吗?
注意:我正在使用 Jackson 2.4.3 我正在使用 Javers 1.2.9 进行对象比较
更新1:
根据建议,我删除了 JsonManaged 和 JsonBack 引用注释,并将 JsonIgnore 添加到 childId 类中的 Parent 属性。但是我在 Javers 上遇到了错误,
JaVers 运行时错误 - 不支持 Set of ValueObjects 的差异