Как правильно настроить отображение Dozer 6.4.1 или ModelMapper 2.2.0 для успешного сопоставления поля java.time.LocalDate
с полем java.util.Date
и наоборот?
Рассмотрим следующие классы:
public class Foo {
private LocalDate signatureDate;
// getters and setters
}
public class Bar {
private Date signatureDate;
// getters and setters
}
Тогда вызов mapper.map(fooInstance, Bar.class);
не будет работать.
Я попытался создать и зарегистрировать пользовательские конвертеры.Используя Dozer, я создал класс LocalDateToDateConverter
, который расширяет DozerConverter<LocalDate, Date>
и реализовал правильное преобразование.Затем зарегистрируйте его следующим образом:
mapper = DozerBeanMapperBuilder
.create()
.withCustomConverter(new LocalDateToDateConverter())
.build();
, но вместо преобразования * используется com.github.dozermapper.core.converters.DateConverter
.
Также стоит отметить, что я хотел бы получить общее решение длявсе классы, которые могут нуждаться в этом преобразовании типов, так что мне не нужно делать конвертер для каждого класса.