javers 是否可以忽略 Java 对象的序列变化?
Is it possible with javers to ignore sequence change of Java objects?
我嵌套了 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 给我 Diff 结果作为 valueAdded 和 ValueRemoved。我正在使用 Javers 3.1.0。有办法吗?
在我的实体 class 中,我向 ClassId 添加了 @Id 注释。但是还是没能达到预期的效果。任何帮助,将不胜感激。
有两种解决方案。
第一个(推荐)- 使用正确的集合类型。 List是一个有序的集合,如果你不在乎顺序,就用Set。
第二种解决方案。如果您无法将列表更改为集合,请使用 ListCompareAlgorithm.AS_SET
并将数据保存在列表中。
javersBuilder.withListCompareAlgorithm(ListCompareAlgorithm.AS_SET)
如果选择AS_SET
,Javers 会像比较集合一样比较列表(在比较之前,列表中的所有元素都被复制到集合中)。
我嵌套了 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 给我 Diff 结果作为 valueAdded 和 ValueRemoved。我正在使用 Javers 3.1.0。有办法吗?
在我的实体 class 中,我向 ClassId 添加了 @Id 注释。但是还是没能达到预期的效果。任何帮助,将不胜感激。
有两种解决方案。
第一个(推荐)- 使用正确的集合类型。 List是一个有序的集合,如果你不在乎顺序,就用Set。
第二种解决方案。如果您无法将列表更改为集合,请使用 ListCompareAlgorithm.AS_SET
并将数据保存在列表中。
javersBuilder.withListCompareAlgorithm(ListCompareAlgorithm.AS_SET)
如果选择AS_SET
,Javers 会像比较集合一样比较列表(在比较之前,列表中的所有元素都被复制到集合中)。