@Data
public class FilesDTO {
private int issue;
private String uniqueStr;
private StorageDomain xml;
private StorageDomain pdf;
private StorageDomain stop;
}
@Data
public class BackHalfDomain {
private int articleId;
private String uniqueStrr;
private long xmlContentId;
private long pdfContentId;
private long stopId;
private int issueNumber;
}
Используя класс репозитория, мне нужно получить объект StorageDomain
из идентификатора в BackHalfDomain
. Поэтому мне нужно сопоставить объект StorageDomain
с соответствующими полями. например, StorgeDomain sd = repo.findById(id).get();
и установите этот объект sd
в поле xml FilesDTO
и так далее. Это мой маппер
@Mapper(componentModel = "spring")
public interface FilesDTOMapper {
public static final FilesDTOMapper fileDTOMapper = Mappers.getMapper(FilesDTOMapper.class);
@Mapping(target = "issue", source = "domain.issueNumber")
@Mapping(target = "DOI", source = "domain.doi")
public FilesDTO map(BackHalfDomain domain);
}
Я использовал uses
, но безуспешно. Я использовал @Mapping(target="xyz", expression="java(repo.findById(id))")"
, но все, что у меня было, было NullPointerException
Spring Injection не работает. Может у кого-нибудь есть решение для этого? Я только начал с mapstruct