标题确实说明了一切。好奇的是,如何可能出现一个属性最终会有多个更改条目的情况。
根据JavaDoc for Changes,它是一个:
{@link Javers#findChanges(JqlQuery(}返回的更改列表的方便包装器。
因此,在实体的使用寿命内,任何可能更改多次的属性都可能导致getPropertyChanges列表中出现多个条目。
例如:你有一个库存跟踪系统,每当有人买东西时,它都会更新库存中每件物品的编号(使用一个名为"numberAvailable"的属性(。一天,五个不同的人购买了;蓝笔";项目当天结束时,您使用一个查询调用Javers#findChanges,该查询为";蓝笔";过去24小时内的项目。这将为您提供一个Changes对象,其中包含五个更改(每个购买事件一个(。这些变化中的每一个都是对";number可用";属性,所以如果您调用getPropertyChanges("numberAvailable")
,那么您最终会得到一个包含这五个更改的列表。