Załóżmy, że mam następujące klasyMapowanie głębokie właściwości z kolekcji pośrednich w spycharki
public class Baz {
private List<Foo> foos = new ArrayList<Foo>();
}
public class Foo {
private String string;
}
public class Target {
private List<String> fooStrings = new ArrayList<String>();
}
Czy istnieje odwzorowanie mogę użyć, aby, biorąc pod uwagę Baz, mapa go do klasy docelowej i uzyskać listę ciągów zawarte w foo w Baz? Poniższe mapowanie nie działa
<mapping>
<class-a>Baz</class-a>
<class-b>Target</class-b>
<field>
<a>foos.string</a>
<b>fooStrings</b>
</field>
</mapping>
Ponieważ łańcuch nie jest własnością foos (która jest typu Lista). Pomyślałbym, że Dozer byłby na tyle sprytny, gdyby napotkał kolekcję w głębokim mapowaniu, a cel był również zbiorem, aby móc podzielić nazwę głębokiej nieruchomości na dwie części i powtórzyć całą kolekcję, aby uzyskać część dla dziecka. głębokiego mapowania od członków kolekcji. Najwyraźniej nie. Czy istnieje jakieś rozwiązanie, które nie wymaga wykonania funkcji Dozera?
Jak moje pytanie powieleniem pytanie zadane 3 lata po kopalni? – Jherico
Możliwe powielenie przez [Głębokie odwzorowanie spychacza Ustaw na Set ] (http://stackoverflow.com/questions/14212708/dozer-deep-mapping-setcomplexobject-to-setstring). @Jherico Przepraszam za zamieszanie. Stackoverflow pozwala tylko oznaczyć post jako duplikat, jeśli drugi zawiera akceptowaną odpowiedź. –
rafalmag