0

我正在尝试(使用 Dozer)将 JAXB DTO 转换为 POJO(实际上,在持久化之前转换为 JPA 注释的 Hibernate 实体)。现在的问题是,现在 Dozer 似乎没有将元素从 JAXB JAXBElement<> 类型转换为 JAXBElement.getValue() 类型。因此,例如,将 JAXBElement s 转换为 POJO 作为 JAXBElement,而不是 java.lang.String。属性名称很常见;JAXBElement 包装器是唯一的区别。

有没有一种简单的方法可以在不编写自定义转换器来处理 JAXB->java 类型转换的情况下做到这一点?这似乎是一件简单的事情,所以我觉得我一定错过了一些东西。推土机常见问题解答仅提及 POJO->JAXB,而不是相反...

谢谢你的帮助!

4

2 回答 2

0

事实证明,Dozer 并没有完全实现最新的 JAXB 规范,但应该在未来的版本中这样做。在此处查看推土机人员对问题的回答,以及此处提交的功能请求。现在,您必须实现一个通用的字段级转换器,它将一个 jaxb 包装的类型转换为其本机 java 值。

于 2009-12-27T03:34:26.780 回答
0

我只是创建一个新的拉取请求来解决这个问题,看看: https ://github.com/DozerMapper/dozer/pull/101

或在我的个人 fork 中查看此内容,网址为: https ://github.com/pepebarragan/dozer

于 2013-05-13T16:50:36.160 回答