2009-12-21 3 views
0

J'essaie (avec Dozer) de convertir un DTO JAXB en un POJO (enfin, en fait, une entité Hibernate JPA-annotée avant de le persister). Le problème en ce moment est que Dozer ne semble pas convertir les éléments du type JAXB JAXBElement < en JAXBElement.getValue(). Ainsi, par exemple, un JAXBElement est traduit en POJO comme JAXBElement, pas java.lang.String. Les noms de propriété sont communs; le wrapper JAXBElement est la seule différence.Dozer: JAXBElements à Java Types?

Existe-t-il un moyen facile de le faire sans écrire un convertisseur personnalisé pour gérer la transition de type JAXB-> java? Cela semble être une chose simple, alors je sens qu'il me manque quelque chose. La FAQ du Dozer ne mentionne que POJO-> JAXB, et non l'inverse ...

Merci pour votre aide!

Répondre

0

Il s'avère que Dozer n'implémente pas complètement les dernières spécifications JAXB, mais devrait le faire dans les prochaines versions. Voir la réponse des gars Dozer à la question here, et la demande de fonctionnalité soumise here. Pour l'instant, vous devez implémenter un convertisseur de niveau champ générique qui transformera un type jaxb-wrapped en sa valeur java native.

Questions connexes