Mapstruct:如何将对象中的整数转换为整数

Mapstruct: how to convert a integer in a object to a integer

如何使用 Java Mapstruct 将 User 映射到 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的字段idJobtarget = "jobId"指的是字段[= UserDto 目标对象的 18=]。

有关如何使用 MapStruct 的更多详细信息,请参阅 MapStruct Reference Guide