推土机:不支持数字到数字映射



为什么推土机不能将数字类型的源类变量映射到相同类型的目标类变量?

出现以下异常:

java.lang.IllegalArgumentException: argument type mismatch
Some more Info:
Dest parent class: XXX
Source field name: totalAccounts
Source field type: class java.lang.Integer
Source field value: 8
Dest parent class: XXX
Dest field name: totalAccounts
Dest field type: java.lang.Number
在这里,源类和目标类

都引用相同的类类型,例如事务。两者都有数字字段,但是在从源类映射到目标类时,它会抛出这样的异常。

我不明白为什么它应该是相同数据类型的"参数不匹配"?

根据您的推土机消息,它不是同一类型。源字段为Integer,目标字段为Number

推土机文档没有提到这样的内置转换器(至少,如果我没看错的话),所以你可能需要实现你自己的org.dozer.CustomConverter实现。既然你说它是同一个类和同一个字段,那么我很茫然,但是为什么一个是Integer而另一个是Number的(至少,没有关于类和映射文件的更多信息)。最好仔细检查类和映射文件,并尝试使用CustomConverter作为解决方法。

最新更新