有很多方法可以删除相同的忽略Map,而不需要在不同的方法上重复@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);
}
删除重复字段
1条答案
按热度按时间ui7jx7zq1#
一种解决方案是将多个Map注解组合到一个自定义注解中。例如,您可以创建一个注解来忽略审计Map:
注解可以在Map器中使用以减少重复: