0

これが私のシナリオです。「com.project.ClassA」と「com.project.ClassB」の2つのクラスがあり、フィールドClassA.nameをClassB.person.nameObj.firstNameにマップしようとしています。

ご覧のとおり、Dozer はマッピングを行う前に person オブジェクトと nameObj を作成する必要があります。Person オブジェクトと NameObj オブジェクトを開始するためのファクトリ クラスがいくつかあります。

フィールドおよびクラス レベルでカスタム create メソッドを定義できることはわかっていますが、それはマッピングしているフィールドまたはクラスにのみ適用されます。私の例では、マッピングは 2 つの文字列フィールド間ですが、マッピングを実行する前に 2 つのオブジェクトを作成する必要があります。

私が今得ているエラーは org.dozer.MappingException: java.lang.NoSuchMethodException: com.project.ClassB.Person.() です

どんな助けやアイデアも大歓迎です。ありがとう。

4

1 に答える 1

0

2つのこと
1.ClassBにはobjPersonを初期化するコンストラクターが必要です。同様に、Personにはnameobjを初期化するコンストラクターが必要です。
2.アクセサーメソッドとミューテーターメソッドが存在する必要があります(ゲッターとセッター)。

これらの両方の手順を実行した後、これは機能するはずです。

于 2011-08-30T20:59:03.673 に答える