比较两个pojo并将输出差异输出到另一个pojo

时间:2019-06-20 09:54:19

标签: java reflection javabeans pojo audit-logging

我有一个pojo课,如下。

public class Person {
    private String name;
    private Address address;
    public String getName() { ... }
    public Address getAddress() { ... } //Address bean
    public void setName() { ... }
    public void setAddress() { ... }
}
  • 从数据库获取数据(将json转换为以上POJO)
  • 显示给用户
  • 用户更改了他的Address
  • 保存回数据库

这是当前正在发生的事情。现在,我试图使用户更改相对于数据库更改产生变化。 (仅是地址)

我需要知道哪些用户已更改。这是用于制作审核日志

在这种情况下,它是地址。该新地址应放入新的Person-POJO类中(所有其他设置器都为NULL)。

这样我就会得到

address {
 -- new address
},
name {
 -- NULL //or no need to have "name" as address only changed
}

实现此目标的最佳方法是什么?

我知道很少有库可以与一些比较器比较bean。但是它只会比较,不会单独提供更改的部分。如果有,请提供链接。

我从https://stackoverflow.com/a/472637/2086966答案中得到了一个主意。尝试使用这种方法。

0 个答案:

没有答案
相关问题