Как написать маппер entity в dto (и обратно) для класса с коллекциями других entity?
Как написать маппер entity в dto (и обратно) для класса с коллекциями других entity? использую mapstruct и @Mapper Все остальные поля нормально маппит, коллекцию нет. entity классы
public class StudentEntity {
private UUID id;
private String surname;
private List<MarkEntity> markEntityList;
private List<SubjectEntity> subjectEntityList;
//конструкторы, геттеры, сеттеры
}
public class MarkEntity {
private UUID id;
private int value;
private SubjectEntity subjectEntity;
private StudentEntity studentEntity;
//конструкторы, геттеры, сеттеры
}
public class SubjectEntity {
private UUID id;
private String name;
private List<StudentEntity> studentEntitiesList;
private List<MarkEntity> markEntitiesList;
//конструкторы, геттеры, сеттеры
}
В DTO такие же поля
public class StudentDTO {
private UUID id;
private String surname;
private List<MarkDTO> markDtoList;
private List<SubjectDTO> subjectDtoList;
}
@Mapper
public interface StudentMapper {
// работают нормалью
StudentMapper INSTANCE= Mappers.getMapper(StudentMapper.class);
StudentDTO toStudentDTO (StudentEntity studentEntity);
StudentEntity toStudentEntity(StudentDTO studentDTO);
//попытка написать маппер коллекции. не работает. коллекция markDtoList и subjectDtoList не мапится.
List<MarkDTO> toMarkDTOList(List<MarkEntity> list);
List<MarkEntity> toMarkEntityList(List<MarkDTO> list);
List<SubjectDTO> toSubjectEntityList(List<SubjectEntity> list);
List<SubjectEntity> toSubjectDTOList(List<SubjectDTO> list);
}