0

我得到以下异常这个异常。我正在使用 modelmapper 在我的项目中的类之间进行转换。

Deal 和 DealDocument 类是相同的。Deal文档类如下:

public class DealDocument extends Deal implements Serializable {

    private static final long serialVersionUID = 12390392L;

}

你认为可能是什么问题?它似乎随机出现,就像它工作正常,但随着时间的推移系统降级

2017-01-31 15:35:45.168 错误 21301 --- [http-nio-8080-exec-8] oaccC[.[.[/].[dispatcherServlet]:Servlet.service() 用于 servlet [dispatcherServlet]带有路径 [] 的上下文抛出异常 [请求处理失败;嵌套异常是 org.modelmapper.MappingException:ModelMapper 映射错误:1) 错误映射 com.acme.sugoi.marketplace.model.Deal 到 com.acme.sugoi.marketplace.model.DealDocument 1 错误],根本原因是 java.lang。 ClassCastException: org.modelmapper.internal.PropertyInfoImpl$MethodAccessor 不能在 org.modelmapper.internal.PropertyInfoRegistry.mutatorFor(PropertyInfoRegistry.java:92) 的 org.modelmapper.internal.PropertyInfoResolver$3.propertyInfoFor 中转换为 org.modelmapper.internal.Mutator (PropertyInfoResolver.java:75) 在 org.modelmapper.internal.PropertyInfoResolver$3。

* 更新 *: 这就是我配置模型映射器的方式:modelMapper.getConfiguration().setAmbiguityIgnored(false).setFieldMatchingEnabled(true).setMatchingStrategy(MatchingStrategies.STRICT);

我的 Deal 类用 @Data (from lombok) 注释,所以所有属性都可以通过公共方法访问

这是否与ModelMapper 中的 ClassCastException 相关:EnhancerByModelMapper cannot be cast

4

1 回答 1

1

我认为这个问题可能与https://github.com/modelmapper/modelmapper/issues/204有关

目前我们在尝试获取访问器时遇到了问题,但获取了一个变异器。

但我不确定您如何使用 lombok 注释配置 Dial 类。Dial 的 getter/setter 方法名称是否相同?

如果是这样,我认为问题就是您正在查看的问题,我们计划在下一个版本中修复它。

于 2017-03-27T23:35:52.933 回答