Der Bulldozer versucht, seiner Schnittstelle eine Klasse zuzuordnen

8

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?

    
DavidH 01.07.2013, 09:16
quelle

1 Antwort

2

Sie können dieses Problem lösen, indem Sie dozer-a-hint und b-hint-Tags in der Dozer-XML-Konfiguration verwenden. Angeben, welche Klasse Shoukd Dozer anstelle der Schnittstelle installieren.

    
vbazaga86 20.07.2014 21:37
quelle

Tags und Links