我有一个名为 User 的域对象:
public class User {
private long id;
private String username;
private String email;
private List<Profile> profiles;
// getters & setters
}
我有相关的 DTO (UserDTO) 是
public class UserDTO {
private long id;
private String username;
private String email;
private List<Long> profilesId;
// getters & setters
}
我想使用 Dozer 从域对象转换为 DTO。Profile 类有一个属性
Long id;
我想要的是 Dozer 为列表中的每个配置文件获取配置文件的 ID,并将其保存在 DTO 的列表中。我可以做这样的事情吗?我必须使用自定义转换器吗?
这是我的实际映射文件
<mapping>
<class-a>common.model.User</class-a>
<class-b>common.model.dto.UserDTO</class-b>
<field>
<a>legalEntity.id</a>
<b>legalEntityId</b>
</field>
<field type="one-way">
<a>profiles.id</a>
<b>profilesId</b>
</field>
</mapping>