Внутренне ByteBuddy генерирует исключение, которое вызывает проблему, я рассмотрю его немного подробнее, чтобы увидеть, возможно, это ошибка в ModelMapper.
В любом случае проверьте вкладку Java 8 на http://modelmapper.org/user-manual/property-mapping/, ваш текущий код, похоже, использует более старую документацию.
ModelMapper mm = new ModelMapper();
TypeMap<A, B> typeMap = mm.createTypeMap(A.class, B.class);
typeMap.addMappings(mapper -> {
mapper.map(A::getDate, B::setTest);
... // Other mappings
});
Это может конвертировать Дата -> Длинный из коробки без какой-либо другой конфигурации.Если вы хотите настроить его дальше, вы всегда можете создать пользовательские конвертеры, например, так:
Converter<Date, Long> dateToLong = new AbstractConverter<Date, Long>() {
@Override
protected Long convert(Date source) {
System.out.println("converting: " + source + " to " + source.getTime());
return source.getTime();
}
};
typeMap.addMappings(mapper -> mapper.using(dateToLong).map(A::getDate, B::setTest));