Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javers是否可以忽略Java对象的序列更改?_Java_Json_Spring Boot_Javers - Fatal编程技术网

javers是否可以忽略Java对象的序列更改?

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” }] } 第二个

我有嵌套的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中。但仍未能达到预期效果。任何帮助都将不胜感激

有两种解决方案

第一个(推荐)-使用正确的集合类型。列表是一个有序的集合,如果您不关心排序,请使用Set

第二个解决方案。如果无法将列表更改为集合,请使用
listcomarealgorithm.AS\u SET
并将数据保存在列表中

javersBuilder.withlistcomarealgorithm(listcomarealgorithm.AS_SET)

如果选择了
AS_SET
,Javers会将列表与集合进行比较(列表中的所有元素在比较之前都会复制到集合中)。

您可以存储排序后的数据感谢Alxander!我想到了这个选项,但我的实际对象json非常复杂和庞大。所以我很好奇,除了排序之外,是否还有其他选择。你的意思是,对于javers来说,可以忽略列表中元素的排序吗?@Bartek是的。或者至少是某种标志,表明它的序列发生了变化。但你的问题正好相反。。。