gpt4 book ai didi

java - 使用 Dozer 映射值对象

转载 作者:搜寻专家 更新时间:2023-11-01 03:29:06 24 4
gpt4 key购买 nike

我正在使用 Dozer 将我的 DTO 映射到 JPA 实体。

其中一个用例是,一个已经存在的实体的 DTO 表示到达 WS,然后我使用 JPA 找到该实体,并使用 Dozer 将 DTO 映射到找到的实体,使用map(source, destination) 映射方式(不是 map(source, destinationClass))。

我的实体(例如地址)上有一些值对象(具有经典的不可变值对象语义)作为@Embeddables。问题是,我希望推土机在将其设置为例如 Employee 对象时始终创建一个 Address 实例,而不是映射到已经存在的 Address 实例。

所以有了下面的类:

public class Employee {

private Address address;

public void setAddress(Address address) {
this.address = address;
}

public Address getAddress() {
return this.address;
}

}

我希望 dozer 始终使用新的地址实例调用 setAddress(),而不是尝试将新地址的字段映射到 getAddress()。

有什么办法吗?

最佳答案

我认为您可以使用自定义转换器来做到这一点。请参阅有关 custom converters 的部分在推土机文档中。

关于java - 使用 Dozer 映射值对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5374358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com