Java ModelMapper отображает объект в объект - PullRequest
0 голосов
/ 28 мая 2019

У меня есть следующие DTO и VO:

ВО

public class ProjectVO {
    private Date fechaInicio;
    private Date fechaFin;
}

DTO

public class ProjectDTO {
   private String fechaInicio;
   private String fechaFin;
}

И следующий конвертер для преобразования строк в даты:

Converter<String, Date> dateConverter = new Converter<String, Date>()
    {
        public Date convert(MappingContext<String, Date> context)
        {
            Date date;

            try {
                date = new SimpleDateFormat("dd/MM/yyyy").parse(context.getSource());
            } catch (ParseException e) {
                throw new DateFormatException();
            }

            return date;
        }
    };

modelMapper.addConverter(dateConverter);

Если я преобразую одну строку в дату с помощью modelmapper, она будет отлично работать с этим конвертером.

Но теперь мне нужно преобразовать мой объект ProjectDTO в объект ProjectVO, и я получаю сообщение об ошибке, в котором говорится, что он не может преобразовать строку в дату. Я подозреваю, что это потому, что Date находится внутри объекта Project. Я прав? Как я могу решить это?

Спасибо.

1 Ответ

1 голос
/ 28 мая 2019

Хорошо, это работает как брелок и автоматически определяет его, если я использую это:

modelMapper.createTypeMap(String.class, Date.class);

, а затем добавляю созданный мной конвертер:)

...