我試圖用推土機來的定製推土機映射
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