2

来自 Javers.org

每个实体实例都有一个名为 InstanceId 的全局标识符。它由一个类名和一个 ID 值组成。

实体引用的比较策略基于 InstanceId,而实体状态的比较策略是逐个属性。

实体可以包含值对象、实体引用、容器、值和基元。

现在想diff两个实体对象,其实是同一个对象的两个版本,但是javer会直接判断是老对象还是新对象。无法比较它们的价值。

@Entity
public class Person {
    @Id
    private Integer id;

    private String name;

    private Integer age;
}

PersonOne(1,“汤姆”,20);
PersonTwo(2,"杰瑞", 18);

有没有办法比较这两个对象?

4

1 回答 1

3

您可以告诉 JaVers 将这些对象作为 ValueObjects 进行比较(逐个属性):

javersBuilder.registerValueObject(Person.class)
于 2016-07-22T22:28:36.310 回答