Java ModelMapper 映射对象中的对象

Java ModelMapper map an object in an object

我有以下 DTO 和 VO:

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 对象中。我对吗?我该如何解决?

谢谢。

好的,它就像一个魅力,如果我使用它会自动检测到它:

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

然后添加我创建的自定义转换器:)