我正在使用 Dozer 将我的 DTO 映射到 JPA 实体。
用例之一是已经存在的实体的 DTO 表示到达 WS,然后我使用 JPA 找到实体并使用 Dozer使用map(source, destination)映射方式将 DTO 映射到找到的实体上(不是地图(来源,目的地类))。
我的实体(例如地址)上有一些值对象(具有经典的不可变值对象语义)作为@Embeddables。问题是,我希望推土机在设置时总是创建一个新的地址实例,例如:员工对象,而不是映射到已经存在的地址实例。
因此,使用以下课程:
public class Employee {
private Address address;
public void setAddress(Address address) {
this.address = address;
}
public Address getAddress() {
return this.address;
}
}
我希望推土机始终使用新的地址实例调用 setAddress(),而不是尝试使用 getAddress() 映射新的地址字段。
有没有办法做到这一点?