如果@Mapping/source 中引用的所有属性都为null,我希望生成的mapstruct 映射方法返回null。例如,我有以下映射:
@Mappings({
@Mapping(target = "id", source = "tagRecord.tagId"),
@Mapping(target = "label", source = "tagRecord.tagLabel")
})
Tag mapToBean(TagRecord tagRecord);
生成的方法是:
public Tag mapToBean(TagRecord tagRecord) {
if ( tagRecord == null ) {
return null;
}
Tag tag_ = new Tag();
if ( tagRecord.getTagId() != null ) {
tag_.setId( tagRecord.getTagId() );
}
if ( tagRecord.getTagLabel() != null ) {
tag_.setLabel( tagRecord.getTagLabel() );
}
return tag_;
}
测试用例:TagRecord 对象不为空,但有 tagId==null 和 tagLibelle==null。
当前行为:返回的 Tag 对象不为 null,但有 tagId==null 和 tagLibelle==null
如果(tagRecord.getTagId() == null && tagRecord.getTagLabel() == null),我实际上想要生成的方法做的是返回一个空的 Tag 对象。有可能吗?我怎样才能做到这一点?