Сравните два pojo и разницу выходных данных с другим pojo - PullRequest
1 голос
/ 20 июня 2019

У меня есть класс 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 ответа.Попытка сделать как этот метод.

...