javers是否可以忽略Java对象的序列更改?
我有嵌套的Java对象。它的Json(例如)如下所示: 第一个对象的Json:javers是否可以忽略Java对象的序列更改?,java,json,spring-boot,javers,Java,Json,Spring Boot,Javers,我有嵌套的Java对象。它的Json(例如)如下所示: 第一个对象的Json: { ClassId : 1, OfficeLocation: “UK”, “Employees”: [{ ClassId: 2, FirstName: “Bob”, LastName: “Smith” }, { ClassId: 3, FirstName: “Tim”, LastName: “Timothy” }] } 第二个
{
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中。但仍未能达到预期效果。任何帮助都将不胜感激 有两种解决方案 第一个(推荐)-使用正确的集合类型。列表是一个有序的集合,如果您不关心排序,请使用Set 第二个解决方案。如果无法将列表更改为集合,请使用
listcomarealgorithm.AS\u SET
并将数据保存在列表中
javersBuilder.withlistcomarealgorithm(listcomarealgorithm.AS_SET)
如果选择了
AS_SET
,Javers会将列表与集合进行比较(列表中的所有元素在比较之前都会复制到集合中)。您可以存储排序后的数据感谢Alxander!我想到了这个选项,但我的实际对象json非常复杂和庞大。所以我很好奇,除了排序之外,是否还有其他选择。你的意思是,对于javers来说,可以忽略列表中元素的排序吗?@Bartek是的。或者至少是某种标志,表明它的序列发生了变化。但你的问题正好相反。。。