Выборка данных из RestUI, который поступает в com.ow.vo.computer.ApplicationUsage.
Выборка данных из базы данных.
Сравните каждое содержимое, как указано ниже
public void compare(com.ow.vo.computer.ApplicationUsage src, ApplicationUsage dest) {
if(!Objects.equals(src.getApplicationItemCost(), dest.getApplicationItemCost())) {
dest.setApplicationItenCost(src.getApplicationItemCost);
}
if(!Objects.equals(src.getAvgUsageTime(), dest.getAvgUsageTime())) {
}
if(!Objects.equals(src.getBundleApplicationId(), dest.getBundleApplicationId())) {
}
if(!Objects.equals(src.getBundleApplicationName(), dest.getBundleApplicationName())) {
}
if(!Objects.equals(src.getDiscoveredDate(), dest.getDiscoveredDate())) {
}
.
.
.
Если какое-либо обновление, то только обновить его в базе данных, иначе нет.
Структура sr c и dest практически одинакова с разницей в типах дат, таких как Source имеют String и dest имеют Date.
Может ли кто-нибудь предложить более элегантный способ или шаблон проектирования для обработки этой ситуации вместо сравнения каждого поля по одному.
Business Logi c: (Загрузить фрагмент из базы данных для 100 записей нажмите rest api для 100 записей. Сравните каждую запись 1 на 1 (все свойства в этом 1). Если разницы нет, ничего не делайте. Если разница, объедините ее, если новая Создать запись, если не существует в Rest API, удалить из базы данных тоже.)