在 MapStruct Spring Core 中高效删除审计字段的重复@Mapping 注解

问题描述 投票:0回答:0

有很多方法可以删除相同的忽略映射,而无需在不同方法上重复@Mapping 注释,例如,一个短注释或接口(如 IgnoreMappingAuditionFields 或其他方式)中的审计字段? 那么您可以推荐哪些方法来解决这个问题?

@Mapper(config = MapperConfiguration.class)
public interface CategoryMapper {
    CategoryDto toDto(final Category category);

    @Mapping(target = "createdAt", ignore = true)
    @Mapping(target = "updatedAt", ignore = true)
    @Mapping(target = "createdBy", ignore = true)
    @Mapping(target = "modifiedBy", ignore = true)
    @Mapping(target = "id", ignore = true)
    @Mapping(target = "quizzes", ignore = true)
    @Mapping(target = "parentCategory.createdAt", ignore = true)
    @Mapping(target = "parentCategory.updatedAt", ignore = true)
    @Mapping(target = "parentCategory.createdBy", ignore = true)
    @Mapping(target = "parentCategory.modifiedBy", ignore = true)
    @Mapping(target = "parentCategory.id", ignore = true)
    @Mapping(target = "parentCategory.quizzes", ignore = true)
    Category toCategory(final CategoryDto categoryDto);

    @Mapping(target = "createdAt", ignore = true)
    @Mapping(target = "updatedAt", ignore = true)
    @Mapping(target = "createdBy", ignore = true)
    @Mapping(target = "modifiedBy", ignore = true)
    @Mapping(target = "id", ignore = true)
    @Mapping(target = "quizzes", ignore = true)
    @Mapping(target = "parentCategory.createdAt", ignore = true)
    @Mapping(target = "parentCategory.updatedAt", ignore = true)
    @Mapping(target = "parentCategory.createdBy", ignore = true)
    @Mapping(target = "parentCategory.modifiedBy", ignore = true)
    @Mapping(target = "parentCategory.id", ignore = true)
    @Mapping(target = "parentCategory.quizzes", ignore = true)
    @Mapping(target = "parentCategory", ignore = true)
    @Mapping(target = "childCategories", ignore = true)
    Category toDomain(final CategoryCreationRequest categoryCreationRequest);
}

删除重复字段

java spring mapstruct core
© www.soinside.com 2019 - 2024. All rights reserved.