【问题标题】:Dozer : Number to Number mapping is not supported推土机:不支持数字到数字的映射
【发布时间】:2012-12-12 10:01:28
【问题描述】:

为什么dozer不能将Number类型的Source Class变量映射到同类型的Destination Class变量?

得到以下异常:

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

在这里,源类和目标类都引用相同的类类型,比如 Transactions。两者都有 Number 字段,但是在从源类映射到目标类时,它会抛出这样的异常..

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

【问题讨论】:

    标签: java integer dozer


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多