Java 使用Dozer映射值对象
我正在使用Dozer将DTO映射到JPA实体 其中一个用例是,已经存在的实体的DTO表示到达WS,然后我使用JPA找到该实体,并使用Dozer使用映射(源、目的地)方式(而不是映射(源、目的地类))将DTO映射到找到的实体上 在我的实体(如Address)上有一些值对象(具有经典的不可变值对象语义),如@Embeddedables。问题是,我希望dozer在设置(例如:Employee object)时始终创建一个新的地址实例,而不是映射到现有的地址实例 因此,对于以下类别:Java 使用Dozer映射值对象,java,mapping,dozer,Java,Mapping,Dozer,我正在使用Dozer将DTO映射到JPA实体 其中一个用例是,已经存在的实体的DTO表示到达WS,然后我使用JPA找到该实体,并使用Dozer使用映射(源、目的地)方式(而不是映射(源、目的地类))将DTO映射到找到的实体上 在我的实体(如Address)上有一些值对象(具有经典的不可变值对象语义),如@Embeddedables。问题是,我希望dozer在设置(例如:Employee object)时始终创建一个新的地址实例,而不是映射到现有的地址实例 因此,对于以下类别: public cl
public class Employee {
private Address address;
public void setAddress(Address address) {
this.address = address;
}
public Address getAddress() {
return this.address;
}
}
我希望dozer始终使用新地址实例调用setAddress(),而不是尝试使用getAddress()映射新地址字段
有什么方法可以做到这一点吗?我想你可以用一个定制的转换器来做到这一点。请参阅推土机文档中的章节