如何使用Java Mapstruct映射一个用户到UserDto?
public class User {
private Integer idUser;
private Job job;
}
public class Job {
private Integer idJob;
private String name;
}
public class UserDto {
private Integer idUser;
private Integer jobId;
}
像下面这样的简单方法没有工作,因为它没有将user.job.user属性映射到userDto。jobId卡拉季奇
UserDto userToUserDto(User user);
当您需要将ORM实体传递给DTO时,这是一个常见的问题
在userToUserDto
方法上方添加一个@Mapping
属性:
@Mapping(source = "job.idJob", target = "jobId")
UserDto userToUserDto(User user);
注意,source = "job.idJob"
指User
源对象中job
字段的idJob
,target = "jobId"
指UserDto
目标对象中jobId
字段。
有关如何使用MapStruct的详细信息,请参阅MapStruct参考指南。