Javers 中的浅拷贝

Shallow copy in Javers

Javers 默认创建一个提交,对要记录的对象进行深度遍历。当你有非常复杂的对象,从父 classes 等继承属性时,必须遍历整个图表并注释每个你不想记录的 属性 可能会很痛苦。

有没有办法默认指定 Javers 应该进行浅遍历并且只指定我们希望包含在提交中的特定属性?或者是否有一个我们可以应用于 class 的注释来说明 class Javers 应该浅记录它? @ShallowReference 似乎没有这样做。

例如对于像这样的对象:

User
   Long id
   String username
   Person person
       String firstName
       String lastName

我想要一个可以应用于用户 class 的注释,或者一些全局设置,这样当我这样做时 javers.commit("admin", user) Javers 仅记录 idusername.

没有这样的注释。在这种情况下,您所能做的就是使用 @DiffIgnore 忽略 person 属性 或 Person class。 想想贡献,这个注解可以命名为@Shallow.