名字我試圖用推土機在Java中兩個bean映射,並有以下情形:地圖名字,姓氏在一個bean來在其他
CustomerA具有firstName和lastName
public Class CustomerA {
public String firstName;
public String lastName;
...
// Getters and Setters
}
CustomerB有名字,這需要映射到firstName+" "+lastName
public Class CustomerB {
public String name;
...
// Getters and Setters
}
是否有可能使用推土機實現此目的?映射文件將如何顯示?我有一個自定義轉換器如下:
public class NameConvertor {
public Object convert(Object destination, Object source, Class destClass, Class sourceClass) {
Object retValue = null;
if (source == null) {
return null;
}
if (source instanceof CustomerA) {
CustomerA src = (CustomerA) source;
CustomerB dest = (CustomerB) destination;
if (destination == null) {
dest = new CustomerB();
}
dest.setName(src.getFirstName()+" "+src.getLastName());
retValue = dest;
} else if (source instanceof CustomerB) {
CustomerB src = (CustomerB) source;
CustomerA dest = (CustomerA) destination;
if (destination == null) {
dest = new CustomerA();
}
dest.setFirstName(src.getName().split(" ")[0]);
dest.setLastName(src.getName().split(" ")[1]);
retValue = dest;
}
return retValue;
}
}
你的映射文件是什麼樣的?請參閱http://dozer.sourceforge.net/documentation/customconverter.html – HankCa