这是因为 LocalDate 不是JavaBean(它没有零参数构造函数)
要解决此问题,您需要创建一个 LocalDateConverter :
public class LocalDateConverter extends BidirectionalConverter<LocalDate, LocalDate> {
@Override
public LocalDate convertTo(LocalDate source, Type<LocalDate> destinationType) {
return (source);
}
@Override
public LocalDate convertFrom(LocalDate source, Type<LocalDate> destinationType) {
return (source);
}
}
然后注册它添加这一行:
mapperFactory.getConverterFactory().registerConverter(new LocalDateConverter());
作为快捷方式,您可以按照 Adam Michalik 的建议注册提供的“PassThroughConverter”,这样 Orika 就不会尝试实例化新的“LocalDate”:
mapperFactory.getConverterFactory().registerConverter(new PassThroughConverter(LocalDate.class));