【发布时间】:2013-12-05 18:15:46
【问题描述】:
我正在尝试使用 Dozer 映射 UUID 字段,并遇到了 dozer github 上提到的问题:
https://github.com/DozerMapper/dozer/issues/83
问题是 - 显然,Dozer 依赖于默认的无参数构造函数,该构造函数在 UUID 中不存在。因此,该链接显示了如何告诉 Dozer 改为执行参考复制。但是,使用该提示并没有帮助,我仍然收到此异常:
org.dozer.MappingException: java.lang.NoSuchMethodException: java.util.UUID.()
测试失败在于:
@Test
public void testUUIDMapping() {
UUID source = fakeUUID1;
UUID result = mapper.map(source, UUID.class);
Assert.assertEquals(result, source);
}
最后,根据问题中的提示,映射是这样的:
<configuration>
<copy-by-references>
<copy-by-reference>java.util.UUID</copy-by-reference>
</copy-by-references>
</configuration>
关于我可能做错的任何想法?谢谢!
【问题讨论】:
-
不能用String来存储UUID吗?为什么生成正确的值后还需要 UUID 类?
-
这不是重点;让我们假设需要使用 UUID(在我的情况下,有,并且没有很好的解决方法)。