java – Como capturar dados de herança com mapstruct?

Estou criando uma API com Spring e houve uma necessidade de fazer herança para tipos de usuários diferentes.
Minha estrutura de entidades segue da seguinte forma:

@MappedSuperclass
@Getter
@Setter
@RequiredArgsConstructor
@Inheritance( strategy = InheritanceType.TABLE_PER_CLASS)
public class Profile implements Serializable {
    private static final long serialVersionUID = 7663551134425055595L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    private String firstName;
    private String lastName;

    @JoinColumn(unique = true,nullable = true)
    @OneToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE})
    private Email email;

    @JoinColumn(nullable = true)
    @OneToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE})
    private Address address;

}

esta classe possui herdeiras.
tais como a proxima:

@Table(name = "athlete")
@Entity
@Getter
@Setter
@RequiredArgsConstructor
@ToString(onlyExplicitlyIncluded = true)
public class Athlete extends Profile {
    private static final long serialVersionUID = -8638214819876514147L;
    private Double weight;
    private Double height;
}

Estou com dificuldade de realizar a transferência de dados utilizando a biblioteca MapStruct, pois, quando faço a requisição ela só recebe os métodos da própria classe e não da classe pai.

@Mapper(componentModel = "spring", uses = {ProfileMapper.class})
public abstract class AthleteMapper{

    public abstract Athlete toModel(AthleteDTO dto);

    @Mapping( target = "athlete.id", source = "email.id")
    public abstract AthleteDTO toDTO(Athlete athlete);
}

O componente da classe fica da seguinte forma:

@Component
public class AthleteMapperImpl extends AthleteMapper {

    @Override
    public Athlete toModel(AthleteDTO dto) {
        if ( dto == null ) {
            return null;
        }

        Athlete athlete = new Athlete();

        athlete.setId( dto.getId() );
        athlete.setFirstName( dto.getFirstName() );
        athlete.setLastName( dto.getLastName() );
        athlete.setEmail( emailDTOToEmail( dto.getEmail() ) );
        athlete.setAddress( addressDTOToAddress( dto.getAddress() ) );
        athlete.setWeight( dto.getWeight() );
        athlete.setHeight( dto.getHeight() );

        return athlete;
    }

}

A classe cria acesso para as instancias que estão em composição, mas, não cria para a herança o que fazer nessa situação?