我试图用推土机来的定制推土机映射
class Source {
private List<Foo> foos = new ArrayList<Foo>();
public List<Foo> getFoos() {
return foos;
}
public void setFoos(List<Foo> foos) {
this.foos = foos;
}
}
一个实例转换的实例:
class Target {
private List<Foo> foos = new ArrayList<Foo>();
public List<Foo> getFoos() {
return foos;
}
}
在Java代码中,我将瓶坯converstion这样
Source s = new Source();
Target t = new Target();
t.getFoos().addAll(s.getFoos());
推土机默认不执行此转换,因为Target
没有foos
原型rty(只是一个getter)。
在现实中,我有很多像这样的属性,我需要映射。一种方法是,告诉推土机到map the private fields directly,但这并不完全令人满意,因为:
- 我需要指定每个字段被这样的名字在推土机XML配置映射
- 访问私有字段是不好
有没有更好的方法?
你意识到't.getFoos()。addAll(s.getFoos());'会导致上面的'Target'实现的NPE,是不是? – Thomas 2011-04-21 14:05:54
对不起,我在“示例”代码中犯了一个错误。我现在修复了它 – 2011-04-21 14:11:48