Bei meinem Datenmodell, bei dem es sich im Grunde genommen um einen Baum mit Eltern-Kindern handelt, hat Dozer Probleme, sie zuzuordnen, wenn ein Feld (das einen Schnittstellentyp als Parameter verwendet) als Klasse interpretiert und versucht wird, es zu instanziieren mit einem Konstruktor. Dies führt zu der folgenden Ausnahme:
%Vor%Dies ist eine Zuordnung der gleichen Klasse, und während Dozer das übergeordnete Feld in der Quellklasse korrekt als Typ Datawarehouse identifiziert, scheint es, als ob die Methode set für die Klasse Module für das übergeordnete Element die Schnittstelle Model als Parameter verwendet zu versuchen, den Typ des Modells zu instanziieren, was natürlich fehlschlägt, da Model eine Schnittstelle ohne Konstruktor ist, anstatt Datawarehouse, wie das Quellenklassenfeld anzeigt.
Ich kenne die Verwendung von Bean-Factories, um das Standard-Mapping-Verhalten zu ändern, aber ich bin überrascht, dass dies der einzige Weg ist, um dieses Problem zu lösen. Es scheint mir, dass Dozer bereits die Informationen hat, die es benötigt, da es den Quellklasse-Typ identifiziert, und für mich ungewöhnlich, dass es versuchen würde, die von der Setter-Signatur angegebene Schnittstelle zu instanziieren, anstatt den Typ, den es zu mappen versucht. p>
Irgendwelche Vorschläge?