有没有办法知道两个 bean 之间哪些属性不同?

Rid*_*del 4 java javabeans

我想以类似于Hibernate Envers所做的方式保留对我的 bean所做的更改(但我不能使用 Envers,因为我没有连接到 JDBC 后端)。

因此,为此,我想知道,在给定 bean 类的两个实例之间,哪些属性具有不同的值。

更清楚地说,当给定 bean A 和 B 时,我希望有一个方法......比如说...... diff(A, B),它将输出一个列表(或映射),将属性链接到它们的旧/新值。

就像是

<BeanClass> Collection<Field, Entry<Object, Object> diff(BeanClass a, BeanClass b)
Run Code Online (Sandbox Code Playgroud)

Java 世界中有一个库可以做到这一点吗?

Rid*_*del 5

好吧,解决方案是使用java-object-diff,它提供了对象之间差异的可访问树。结果,我们最终使用该库取得了巨大成功。