Unable to map deep mapping from source class to target class SourceEmployee.Address.houseName
to TargetEmployee.houseName
Source Object Class
public class SourceEmployee { private String empName; private Address addr; enter code here @Mapping("empName") public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } public Address getAddr() { return addr; } public void setAddr(Address addr) { this.addr = addr; } }
Class address
public class Address { private String houseName; public String getHouseName() { return houseName; } public void setHouseName(String houseName) { this.houseName = houseName; } }
target object
public class TargetEmployee { private String empName; private String houseName; public String getHouseName() { return houseName; } public void setHouseName(String houseName) { this.houseName = houseName; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } }
Copy main class from source to destination
public class CopyAttributes { public static void main(String args[]) { SourceEmployee sourceEmp = new SourceEmployee(); sourceEmp.setEmpName("Rafi"); Address adr = new Address(); adr.setHouseName("Aashiyana"); sourceEmp.setAddr(adr); Mapper mapper = new DozerBeanMapper(); TargetEmployee destObject = mapper.map(sourceEmp, TargetEmployee.class); System.out.println(destObject.getEmpName()); System.out.println(destObject.getHouseName()); } }
source share