Java mapstruct conditonly创建和嵌套对象

Java mapstruct conditonly创建和嵌套对象,java,mapstruct,Java,Mapstruct,我正在使用mapstruct,有以下问题- 我有一个DTO父母: { "parentId":1, "child":{ "id":1, "name":"firstBorn" } } 这是DTO和服务器类: @Data public class ParentDTO { int parentId; ChildDto child; } @Data public cla

我正在使用mapstruct,有以下问题-

我有一个DTO父母:

{
     "parentId":1,
      "child":{
       "id":1,
       "name":"firstBorn" 
       }
}
这是DTO和服务器类:

 @Data
    public class ParentDTO {
        int parentId;
        ChildDto child; 
    } 
    @Data
    public class ChildDTO{
        int id;
        ChildDto child; 
    } 
POJO包括:

@Data
public class Parent{
    int parentId;
    Child child; 
} 
@Data
public class Child{
    int parentId;
    int id;
    String name;
}
因此,我使用Mapstruct在这两者之间进行映射:

@Mapper( unmappedTargetPolicy = ReportingPolicy.IGNORE)
class ParentMapper {
  @Mappings({
    @Mapping(source = "parentId", target = "child.parentid"), 
    @Mapping(source = "name", target = "child.name")

  })
  Parent map(ParentDto source);

}
如果且仅当实例子对象存在于父对象中时,我希望创建该实例子对象,否则我希望该实例子对象为null,我如何实现此目标

当子项为空时,问题就会出现

{
"parentId":123
}

当且仅当它存在于父对象中时,它意味着什么?您是在说ParentDto中的child是否为null还是其他什么?您能否提供一个示例,说明您希望映射代码是什么样子的?如果且仅当它存在于父级中时,这意味着什么?您是在说ParentDto中的child是否为null还是其他什么?您能否提供一个示例,说明您希望映射代码是什么样子的?