我正在使用Dozer在Document类和DocumentManagementBean类之间进行映射,这都是我自己制作的。两者都有一个Joda DateTime类型的属性,即getter和setter,名为dateAdded。
当文档对象d的属性dateAdded=x时,调用映射器。map(d,DocumentManagementBean.class)所有字段都会正确地自动映射(因为我完全控制代码库,所以我可以不用dozer配置,只依赖匹配的属性名称),除了dateAdded字段,其中新的DocumentManagementBean以其dateAdded属性中的当前日期时间结束,而不是d对象中的x。
我在等Dozer打电话
<代码>dmb。setDateAdded(d.getDateAdded())
只需将dateAdded的值从源代码带到目标代码,但它似乎是在为dmb对象创建新的DateTime,然后就不用管它了。
有人能帮我解释一下吗?
在xml文件中设置“按引用复制”全局属性
<copy-by-references>
<copy-by-reference>
org.joda.time.LocalDate
</copy-by-reference>
<copy-by-reference>
org.joda.time.LocalDateTime
</copy-by-reference>
</copy-by-references>
您可能不再需要它了,但Dozer提供了通过引用复制对象的机会,至少使用最新版本(现在,这个版本是5.4.0)。通过引用复制是您正在寻找的。
<field copy-by-reference="true">
<a>copyByReference</a>
<b>copyByReferencePrime</b>
</field>
文档:http://dozer.sourceforge.net/documentation/copybyreference.html
基本的问题是,Dozer通过new DateTime()创建了一个新的DateTime空实例,这就是如何以当前日期/时间而不是原始日期/时间结束的。可能有多种解决方案,我通常使用customconverter,全局定义:
<converter type="de.kba.resper.customconverter.DateTimeCustomConverter">
<class-a>org.joda.time.DateTime</class-a>
<class-b>org.joda.time.DateTime</class-b>
</converter>
和
public class DateTimeCustomConverter extends DozerConverter<DateTime, DateTime> {
public DateTimeCustomConverter() {
super(DateTime.class, DateTime.class);
}
@Override
public DateTime convertTo(final DateTime source, final DateTime destination) {
if (source == null) {
return null;
}
return new DateTime(source);
}
@Override
public DateTime convertFrom(final DateTime source, final DateTime destination) {
if (source == null) {
return null;
}
return new DateTime(source);
}
}
不过,这可能有些过头了:)
我试图使用Dozer映射UUID字段,遇到了Dozer github上提到的一个问题: https://github.com/DozerMapper/dozer/issues/83 问题是-显然,Dozer依赖于UUID中不存在的默认无参数构造函数。因此,该链接显示了如何告知推土机执行参考复制。然而,使用该提示并没有帮助,我仍然会遇到以下异常: org.dozer.java.lang.java.u
所以,我有一个问题,这里的人可能会帮助我与推土机。 背景:我设置了Dozer来将我的持久性实体映射到它们的DTO类。这很简单,我只是创建一个实体类的精确副本作为POJO,并允许dozer通配符查看字段的名称是否与源字段匹配。我正在使用自定义映射器处理Hibernate延迟加载问题,就像这里所做的那样。我告诉Dozer如何通过一个类来映射每个类,该类扫描实体中名为@EntityMap(DTOxxx.
我在Spring启动时使用推土机映射器。如果我将数据从实体映射到EntityDTO,那么dozer maper的工作就是将数据从实体类复制到EntityDTO,对于原语也是如此。但是假设我有这样一门课 和名称为EntityDTO的DTO 那么它不会将数据从entityChild映射到EntityChildTos,有人能帮我解决这个问题吗?
我是使用dozer的新手。我需要将集合映射到一个类,该类是集合中源类的属性。我有如下类技术 我想映射到 哪里 我的推土机绘图将是什么样子?
问题内容: 我有两个使用的示例。首先是对回调函数的引用。第二个有一个箭头函数声明为该值。 第一个按预期工作。但是,第二个在连续渲染中记录a 。 这是什么原因呢? 开始在输入框中输入内容 示例1(工作正常) 示例2(这不起作用) 问题答案: 关于React的Github问题已经对此进行了简要讨论。我会尽力解释这一点,但是很难用语言表达。 由于在第二个示例中您没有调用“智能”组件方法,因此每次重新渲染
在Dozer的帮助下,我想将映射到DTO类 但是这两种设置