小编Shi*_*bop的帖子

Mapstruct 似乎无法识别 Lombok 的 @SuperBuilder

我有两个这样的域类。

@Getter
@Setter
public class User {
    private String name;
}
Run Code Online (Sandbox Code Playgroud)
@Getter
@Setter
public class Student extends User {
    private int grade;
}
Run Code Online (Sandbox Code Playgroud)

我还有两个这样的 Dto 课程。

@Getter
@SuperBuilder
public class UserDto {
    private final String name;
}
Run Code Online (Sandbox Code Playgroud)
@Getter
@SuperBuilder
public class StudentDto extends UserDto {
    private final int grade;
}
Run Code Online (Sandbox Code Playgroud)

所以我创建了一个扩展 GenericMapper 的映射器类 StudentMapper。

public interface GenericMapper<D, E> {
    D toDto(E e);
    E toEntity(D d);
}
Run Code Online (Sandbox Code Playgroud)
@Mapper(componentModel = "spring")
public interface StudentMapper extends GenericMapper<StudentDto, Student> {
}
Run Code Online (Sandbox Code Playgroud)

但是我在编译Mapper时出错了。

“StudentDto 没有可访问的构造函数。” …

java builder lombok mapstruct

3
推荐指数
1
解决办法
2132
查看次数

标签 统计

builder ×1

java ×1

lombok ×1

mapstruct ×1