[英]Dozer nested class field to flat Map.class mapping using Dozer API
我正在尝试使Dozer映射我的班级:
public class A {
private B someB;
private String someAText;
}
public class B {
private String someBText;
}
生成的Map.class
如下所示:
"someAText" => "someATextValue"
"someBText" => "someBTextValue"
。
也就是说,我正在尝试指定嵌套类的字段映射到平面Map
键目标。 我正在通过Java API使用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");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.