Bonjour,
J'essaye d'utiliser Dozer pour copier mes classes DB en DTO, j'ai déjà réussi sur plusieurs cas, mais je rencontre un problème sur les classes suivantes:
J'ai une classe FirstClassDB :
et une classe MyDTOClass :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public class FirstClassDB { private FirstClassIdDB id; .... } public class FirstClassIdDB { private FirstSubClassDB firstSubClass; private String test; ... } public class FirstSubClassDB { private FirstSubClassIdDB id; .... } public class FirstSubClassIdDB { private String testSubClassId; ... }
Mon fichier de mapping:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public class MyDTOClass { private String testDTO; private String testSubClassIdDTO; }
Je veux remplir mon DTO à partir du DB mais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <mapping> <class-a>FirstClassDB </class-a> <class-b>MyDTOClass </class-b> <field> <a>id.firstSubClass.id.testSubClassId</a> <b>testSubClassIdDTO</b> </field> <field> <a>id.test</a> <b>testDTO</b> </field> </mapping>
- avec la version 5.2.2 de Dozer, j'ai une exception
- avec la version 5.2.0, seul l'attribut testDTO est renseigné, le reste est null. Donc la String de la clé de FirstClassDB est accessible, tout ce qui est dans FirstSubClassDB est null si j'essaye d'y accéder dans le mapping...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 org.dozer.MappingException: java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlObject at org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:88) at org.dozer.MappingProcessor.map(MappingProcessor.java:181) at org.dozer.MappingProcessor.map(MappingProcessor.java:124) at org.dozer.MappingProcessor.map(MappingProcessor.java:119) at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:92) ....
Mes getters et setters sont tous public.
Merci pour votre aide !
Partager