【发布时间】:2011-01-12 21:24:36
【问题描述】:
假设我有以下课程
public class Baz {
private List<Foo> foos = new ArrayList<Foo>();
}
public class Foo {
private String string;
}
public class Target {
private List<String> fooStrings = new ArrayList<String>();
}
有没有我可以使用的映射,给定一个 Baz,将它映射到目标类并获取 Baz 中 foo 中包含的字符串列表?以下映射不起作用
<mapping>
<class-a>Baz</class-a>
<class-b>Target</class-b>
<field>
<a>foos.string</a>
<b>fooStrings</b>
</field>
</mapping>
因为 string 不是 foos 的属性(它是 List 类型)。我原以为 Dozer 会足够聪明,如果它在深度映射中遇到一个集合,并且目标也是一个集合,那么它能够将深度属性名称分成两个并遍历集合以获取子部分来自集合成员的深度映射。显然不是。有没有没有提出 Dozer 的功能请求的解决方案?
【问题讨论】:
-
我的问题与我 3 年后提出的问题有何重复?
-
可能被Dozer deep mapping Set<ComplexObject> to Set<String> 复制。 @Jherico 我很抱歉造成混乱。 Stackoverflow 仅允许在另一个帖子包含已接受的答案时将其标记为重复。