Вы можете использовать Biavonsumer java8 +, чтобы определить установщик для каждого из ключей карты:
Map<String, BiConsumer<Employee, String>> consumerMap = new HashMap<>();
consumerMap.put("name", Employee::setFirstName);
consumerMap.put("ads", Employee::setMyAddress);
consumerMap.put("country", Employee::setDealCountry);
//and so on
Map<String, String> map = new HashMap<>();//the data from your database
Employee e = new Employee();
if (map != null) {
consumerMap.forEach((key, value) -> {
if (map.containsKey(key)) {
//value is the BiConsumer
value.accept(e, map.get(key));
}
});
}
ForEach выполняет итерацию по всем определенным сопоставлениям, а затем проверяет, имеет ли ваш Map
из базы данных соответствующие ключи и применяет данные.
Это не требует (ручного) отражения, и отображение ключа карты на установщик очень прямое.