У меня есть родительский класс со многими дочерними объектами.
Есть 2 экземпляра этого родительского класса.
Хотите скопировать данные одного экземпляра в другой (игнорируя свойство 'id' во всех дочерних объектах)
---- для краткости скрываем геттеры и сеттеры
public class IdBean {
private Long id;
}
public class City extends IdBean {
private String name;
}
public class Country extends IdBean {
private String name;
private List<City> cities;
}
public class Student extends IdBean {
private String name;
}
public class School extends IdBean {
private String name;
private List<Student> students;
private List<Country> countries;
}
@MapperConfig(mappingInheritanceStrategy = MappingInheritanceStrategy.AUTO_INHERIT_FROM_CONFIG)
public interface SchoolCentralConfig {
@Mapping(ignore = true, target = "id")
IdBean updateBeanEntityFromDto(IdBean dto);
}
@Mapper(config = SchoolCentralConfig.class)
public interface SchoolMapper {
SchoolMapper INSTANCE = Mappers.getMapper( SchoolMapper.class );
@Mapping(target = "companies.id", ignore = true )
void updateSchoolFromDto(School schoolDTO, @MappingTarget School schoolEntity);
}
Я хочу игнорировать все свойства 'id' из всех вложенных полей.