json使用javers是否可以忽略Java对象的序列更改?
我有嵌套的Java对象。它的Json(例如)如下所示: 第一个对象的Json:
{
ClassId : 1,
OfficeLocation: “UK”,
“Employees”: [{
ClassId: 2,
FirstName: “Bob”,
LastName: “Smith”
},
{
ClassId: 3,
FirstName: “Tim”,
LastName: “Timothy”
}]
}
第二个对象的json:
{
ClassId : 1,
OfficeLocation: “UK”,
“Employees”: [{
ClassId: 3,
FirstName: “Tim”,
LastName: “Timothy”
},
{
ClassId: 2,
FirstName: “Bob”,
LastName: “Smith”
}]
}
如果只是如上所述的序列更改,我想忽略该更改。但目前,javers给了我不同的结果,即增值和增值。我使用的是Javers3.1.0。有什么办法可以这样做吗
在我的实体类中,我将@Id注释添加到ClassId中。但仍未能达到预期效果。任何帮助都将不胜感激
# 1 楼答案
有两种解决办法
第一个(推荐)-使用正确的集合类型。列表是一个有序的集合,如果您不关心排序,请使用Set
第二个解决方案。如果无法将列表更改为集合,请使用
ListCompareAlgorithm.AS_SET
并将数据保留在列表中如果选择了
AS_SET
,Javers将比较类似集合的列表(列表中的所有元素在比较之前都复制到集合)