java-MapStruct无法在mapper函数中映射基类中的字段

java-MapStruct无法在mapper函数中映射基类中的字段,java,mapstruct,Java,Mapstruct,我有一个基本dto和一个扩展它的dto public abstract class AbstractItem { private String upc; private String quantity; //getter and setter for upc and quantity } public class OrderedItem extends AbstractItem { private String orderId; // getter

我有一个基本dto和一个扩展它的dto

public abstract class AbstractItem {
    private String upc;
    private String quantity;

    //getter and setter for upc and quantity
}

public class OrderedItem extends AbstractItem {
    private String orderId;

    // getter and setter for orderId
}
然后我有一个模态,我想从OrderedItem转换它。此模态扩展了基本模态

public abstract class AbstractModal {
    private String qty;

    public void setQty(String qty) {
        this.qty = qty;
    }
    public String getQty() {
        return qty;
    }
}

public class ItemModal extends AbstractModal {
    private String orderNbr;
    private String upcNbr;

    // getter and setter for orderNbr and upcNbr;
}
这是使用Mapstruct的映射器函数

@Mapper
public interface DtoMapper {

    @Mappings({
        @Mapping(source = "orderedItem.orderId" target = "orderNbr"),
        @Mapping(source = "orderedItem.upc" target = "upcNbr"),
        @Mapping(source = "orderedItem.quantity" target = "qty")
    })
    ItemModal convert(OrderedItem orderedItem);
}
在编译期间,我在result type test.modal.ItemModal中得到一个错误
未知属性“qty”。

Mapstruct是否支持基类的映射字段? 如果是,你能告诉我我的代码有什么问题吗? 我正在使用Java8和MapStruct1.2.0


编辑:在
AbstractModal

中为
qty
添加了getter和setter,我不确定以前是否有人问过这个问题。我找不到类似的问题Yes MapStruct支持此功能。我试过了,效果很好。您可以在
AbstractModal
中共享
数量的setter吗?不必在
@映射中使用
orderedItem.upc
。您可以在
AbstractModal
中使用
upc
@Filip为
qty
添加了getter和setter,谢谢,这很奇怪,因为它应该可以工作。我还用这些类创建了一个项目,它可以正常工作。你能告诉我你在哪一个地方吗?此外,如果你能创建一个完整的复制项目,我们将能够修复它。