我想让推土机地图成为我的职业:
public class A {
private B someB;
private String someAText;
}
public class B {
private String someBText;
}
到生成的Map.class
,如下所示:
"someAText" => "someATextValue"
"someBText" => "someBTextValue"
.
也就是说,我正在尝试将嵌套类的字段映射到平面Map
键目标。我使用的是JavaAPI的Dozer,而不是xml。我无法找到适当的构建器配置来管理它。基本代码类似于:
beanMappingBuilder = new BeanMappingBuilder() {
@Override
protected void configure() {
mapping(B.class, Map.class, TypeMappingOptions.oneWay(), mapNull(true));
mapping(A.class, Map.class, TypeMappingOptions.oneWay(), mapNull(true));
}
}
我建议您尝试以下配置:
beanMappingBuilder = new BeanMappingBuilder() {
@Override
protected void configure() {
// 'A > Map' mapping
mapping(A.class, Map.class, TypeMappingOptions.oneWay(), TypeMappingOptions.mapNull(true))
.fields("someAText", "someATextValue")
.fields("someB.someBText", "someBTextValue");
// 'B > Map' mapping
mapping(B.class, Map.class, TypeMappingOptions.oneWay(), TypeMappingOptions.mapNull(true))
.fields("someBText", "someBTextValue");
}
}
我有一个类,我们用一个映射字段将其称为a,它被转换为B类,用于数据库存储/检索,其中该字段映射到字符串。从A到B的映射非常有效。然而,当从B到A时,我得到了一个IllegalArgument异常,它表示无法将字符串转换为映射。让我困惑的是,Dozer的文档中说,这确实适用于以下情况: 数据类型转换由Dozer映射引擎自动执行。目前,Dozer支持以下类型的转换:(这些都是双向的) 然后它继续列出要
我试图使用Dozer映射UUID字段,遇到了Dozer github上提到的一个问题: https://github.com/DozerMapper/dozer/issues/83 问题是-显然,Dozer依赖于UUID中不存在的默认无参数构造函数。因此,该链接显示了如何告知推土机执行参考复制。然而,使用该提示并没有帮助,我仍然会遇到以下异常: org.dozer.java.lang.java.u
在Dozer的帮助下,我想将映射到DTO类 但是这两种设置
我在Spring启动时使用推土机映射器。如果我将数据从实体映射到EntityDTO,那么dozer maper的工作就是将数据从实体类复制到EntityDTO,对于原语也是如此。但是假设我有这样一门课 和名称为EntityDTO的DTO 那么它不会将数据从entityChild映射到EntityChildTos,有人能帮我解决这个问题吗?
我是使用dozer的新手。我需要将集合映射到一个类,该类是集合中源类的属性。我有如下类技术 我想映射到 哪里 我的推土机绘图将是什么样子?
考虑以下类。如何在不使用自定义转换器的情况下使用Dozer将A类转换为B类? 有人能为上述类提供推土机映射XML吗?