Je comprends Mapstruct
me permet de définir ma propre logique de cartographe, je fais comme ceci:Mapstruct auto défini mappeur et Generated automatiquement un
@Mapper(componentModel = "spring")
public abstract class ProjectMapper {
public ProjectInfo map(ProjectEntity projectEntity) {
ProjectInfo projectInfo = new ProjectInfo();
projectInfo.setName(projectEntity.getName());
projectInfo.setDescription(projectEntity.getDescription());
// Specific logic that forces me to define it myself
if (projectEntity.getId() != null) {
projectInfo.setId(projectEntity.getId());
}
if (projectEntity.getOrganisation() != null) {
projectInfo.setOrganisation(projectEntity.getOrganisation().getName());
}
return projectInfo;
}
}
Il fonctionne très bien, mais je veux aussi Mapstruct
« s générés les mappeurs, mais ils doivent être définis dans une interface, est-il possible de regrouper ces deux types de mappeurs?
Que voulez-vous signifie par 'mapper MapStruct 'doivent être définis dans une interface? Vous pouvez également définir un thème dans une classe 'abstract',' MapStruct' implémentera toutes les méthodes abstraites. Je ne suis pas sûr que votre logique spécifique ressemble vraiment à cela, mais 'MapStruct' peut générer exactement la même méthode. – Filip