Dozer 和 JAX-WS 生成的类的映射问题
我有一组 JAX-WS 生成的类,它们在另一个包中重复。现在我想使用 Dozer 在这些类之间进行映射。我现在遇到的问题是基于 JAX-WS 没有为 Collection 类型生成 setter。我必须调用 getFoo().addAll(List
,而不是调用 set(List
。 我如何配置 Dozer(通过 XML 和 API)来尊重这一点?
I have a set of JAX-WS generated classes which are duplicated in another package. Now I want to map between those classes by using Dozer. The problem I have now is based on JAX-WS not generating setters for Collection types. Instead of calling set(List<Foo> foo)
I have to call getFoo().addAll(List<Foo>)
.
How can I configure Dozer(via XML and API) to respect this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,我想出了如何使用静态 dozer xml 配置来做到这一点:
我缺少所需的
bar.Item
。现在我只需要在运行时通过 Dozer API 执行此操作...
这将失败,并显示
java.lang.ClassCastException: foo.Item can be Cast to bar.Item
因为提示以某种方式未应用:它是这样工作的:
Ok, I figured out how to do it with a static dozer xml configuration:
I was missing the the required
<b-hint>bar.Item</b-hint>
.Now I only need to do this at runtime via Dozer API...
This fails with
java.lang.ClassCastException: foo.Item cannot be cast to bar.Item
as the hint somehow isn't applied:This is how it works: