对于我来说,找到的不是一个非常优雅的解决方案,而是可行的解决方案。
首先将接口更改为抽象类,然后添加
@AfterMapping
@Mappings({ @Mapping(source = "id", target = "id"), @Mapping(source = "childId", target = "child.id")})public abstract Entity objectDtoToEntity(ObjectDTO objectDTO);@AfterMappingpublic Entity doAfterMapping(@MappingTarget Entity entity) { if (entity != null && entity.getChild().getId() == null) { entity.setChild(null); } return entity;}


