同じクラスの下に2つの異なるオブジェクトを持つクラスがあります:
public class Customer {
//Source Attr
public Addr addr;
//target
public AddressDTO custAddr;
}
public class Addr {
public String street_Name;
public String home_Num;
public String post_code;
}
public class AddressDTO {
public String streetName;
public String homeNum;
public String postcode;
}
Addr -> AddressDTO オブジェクトを Customer オブジェクトにマップしようとしています:
ClassMapBuilder<?,?> classMapper = factory.classMap(Customer.class, Customer.class).classMap.field(addr.street_Name, custAddr.streetName).byDefault().register();
Customer source = new Customer();
source.setName("tester");
Addr addr = new Addr("streetname","123","456");
source.setAddr(addr);
Customer target = mapper.map(source,Customer.class);
これを実行すると、次のエラーが発生します。
原因: java.lang.IllegalArgumentException: java.lang.String は、com.domain.AddressDTO のインスタンスを構築するためのサポートされていないソース クラスです