モデル エンティティと DTO の間のマッピングに dozer を使用しています。今、私は classA.classC のいくつかのプロパティを classB の異なるプロパティにマップする必要があるという問題に直面していますが、最初に矛盾をチェックする必要があります。 .
だから私が持っていると仮定します:
class ClassA {
private String name;
private ClassC c;
public ClassC getC() throws ValidityException;
}
class ClassB {
private String code;
private Integer value;
}
class ClassC {
private String name;
private Integer value;
// Getters & Setters below
}
だから今、私はこのようにマッピングしたい:
<mapping>
<class-a>ClassA</class-a>
<class-b>ClassB</class-b>
<field>
<a>c.name</a>
<b>code</b>
</field>
<field>
<a>c.value</a>
<b>value</b>
</field>
</mapping>
ClassA インスタンスから ClassC インスタンスへのアクセスで例外がスローされる場合は、両方の b プロパティに null をマップする必要があります。私が読んでいたことから、ClassCインスタンスにアクセスして例外をキャッチし、その場合はnullをマップするためにCustomConverterを使用する必要があると思いますが、この種のコンバーターをどのように実装できるかわかりません。
Dozer を使用してこれを実装する方法について、誰かアイデアを教えてください。