Potrzebuję odwzorować klasę A na klasę C za pomocą struktury spycharki.Mapowanie w trybie spakującym klasy wewnętrzne
public class A {
private String fielda1;
private String fielda2;
public String getFielda1() {
return fielda1;
}
public void setFielda1(String fielda1) {
this.fielda1 = fielda1;
}
public String getFielda2() {
return fielda2;
}
public void setFielda2(String fielda2) {
this.fielda2 = fielda2;
}
}
public class B {
private List<C> cList;
public List<C> getcList() {
return cList;
}
public void setcList(List<C> cList) {
this.cList = cList;
}
public static class C {
private String fieldc1;
private String fieldc2;
public String getFieldc1() {
return fieldc1;
}
public void setFieldc1(String fieldc1) {
this.fieldc1 = fieldc1;
}
public String getFieldc2() {
return fieldc2;
}
public void setFieldc2(String fieldc2) {
this.fieldc2 = fieldc2;
}
}
}
XML plik odwzorowania:
<mapping wildcard="false" map-null="false" map-id="test">
<class-a>test.A</class-a>
<class-b>test.B.C</class-b>
<field>
<a>fielda1</a>
<b>fieldc1</b>
</field>
<field>
<a>fielda1</a>
<b>fieldc2</b>
</field>
</mapping>
Kiedy próbuję map tych klas Dostałem następujący wyjątek:
org.dozer.MappingException: java.lang.ClassNotFoundException: test.B.C
at org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:88)
at org.dozer.util.DefaultClassLoader.loadClass(DefaultClassLoader.java:33)
szwy że buldożer nie jest w stanie obsłużyć tę sytuację i wykorzystuje klasa B jako nazwa pakietu. Ten problem można rozwiązać za pomocą niestandardowych konwerterów. Po prostu chcę wiedzieć, czy istnieje jakakolwiek sztuczka, która mogłaby zostać użyta do konwersji tych klas przy użyciu tylko konfiguracji XML?
w StackOverflow zwyczajowo przyjmuje odpowiedzi, które pomogły Ci najbardziej. Ponadto zwyczajowo przyjmuje się odpowiedź, która w sposób bardziej wszechstronny pomogła rozwiązać problem. Przekazujesz odpowiedź, używając górnej strzałki po lewej stronie odpowiedzi (liczba głosów wzrośnie o 1). Możesz zaakceptować odpowiedź, klikając znacznik wyboru pod odpowiedzą, aby zmienił kolor na zielony. –