1

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 フィールドを持っていますが、ソース クラスから宛先クラスへのマッピング中に、そのような例外がスローされています。

同じデータ型で「引数の不一致」になる理由がわかりませんか?

4

1 に答える 1

1

ドーザーのメッセージによると、同じタイプではありません。送信元フィールドはInteger、送信先はNumberです。

Dozer のドキュメントには、そのような組み込みコンバーターについては言及されていないため (少なくとも、私が正しく読んだ場合)、独自のorg.dozer.CustomConverter. あなたはそれが同じクラスで同じフィールドだと言っているので、なぜ一方がなぜ他方がそうなのか途方に暮れていますIntegerNumber少なくとも、クラスとマッピングファイルに関する詳細情報はありません)。クラスとマッピング ファイルの両方を再確認CustomConverterし、回避策として を試してください。

于 2012-12-12T13:36:18.680 に答える