netbeans Mapstruct不分配任何值

9fkzdhlc  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(150)

我使用Lombok,mapstruct和 Spring Boot 2.6。我的想法是智能2020.2
我的Map器

@Mapper(componentModel = "spring")
public interface UserMapper {

    User userInfoToUser(UserInfo userInfo);
}

@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
public class User {

    @Id
    @GeneratedValue(generator="user_id_seq")
    @SequenceGenerator(name="user_id_seq",sequenceName="user_id_seq", allocationSize=1)
    Long id;

    @Email
    @Column(length = 254, unique = true)
    String username;

    @Column(length = 20)
    String password;

    @Enumerated(EnumType.STRING)
    RoleEnum role;

    @Column(columnDefinition = "int default 0")
    int failedAttempt;

    @Column(columnDefinition = "boolean default true")
    boolean accountNonLocked;

    @Column(columnDefinition = "boolean default false")
    boolean requirePasswordChange;

    @Column(columnDefinition = "boolean default true")
    boolean enabled;

}

@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserInfo {

    private Long id;

    @Email
    @NotNull
    @NotEmpty
    private String username;

    @Size(min = 8)
    private String password;
}

生成的代码为

@Component
public class UserMapperImpl implements UserMapper {

    @Override
    public User userInfoToUser(UserInfo userInfo) {
        if ( userInfo == null ) {
            return null;
        }

        User user = new User();

        return user;
    }
}

在我的Gradle档案里

implementation 'org.mapstruct:mapstruct:1.4.2.Final'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.4.2.Final'
annotationProcessor 'org.projectlombok:lombok'

生成的代码不正确,所有设置都丢失。
与netbeans相同的问题

k3bvogb1

k3bvogb11#

如果您使用的是Lombok 1.18.16或更新版本,则需要添加lombok-mapstruct-binding,以便使Lombok和MapStruct协同工作

相关问题