Я пытаюсь сопоставить свою сущность с моим DTO. Насколько я знаю, я пробую разные подходы.
Я успешно использовал карту с неявным отображением, а также явную карту при использовании PropertyMap с методом configure.
Теперь я пытаюсь отобразить явное с помощью TypeMap. Это последний, который я не могу заставить работать.
Вместе с началом работы с Modelmapper я использовал в качестве примера ответ в этой теме: Как использовать Explicit Map с Java 8 и ModelMapper?
static ResponseB convertBEntityToDtoExplicitTypeMap(ModelB modelB){
ModelMapper modelMapper = new ModelMapper();
TypeMap<ModelB, ResponseB> typeMap = modelMapper.createTypeMap(ModelB.class, ResponseB.class);
typeMap.addMappings(mapping -> {
mapping.map(modelB.getId(), ResponseB::setId);
mapping.map(modelB.getBankaccountName(), ResponseB::setB);
mapping.map(modelB.isActive(), ResponseB::setActive);
});
return modelMapper.map(modelB, ResponseB.class);
}
Приведенный выше блок - мой пример кода, который не работает.
- С setId у меня ошибка: несовместимые типы: V не конвертируется в Long.
- У setB есть ошибка: Несовместимые типы: V не преобразуется в String.
- Ошибка setActive: несовместимые типы: V не может быть преобразовано в логическое значение.
Как я могу заставить этот пример работать с TypeMap?