6

3 つのパラメーターを取るコンストラクターのみを持つソース宛先にマップしたいと考えています。次のエラーが表示されます。

宛先 com.novasol.bookingflow.api.entities.order.Rate のインスタンスをインスタンス化できませんでした。com.novasol.bookingflow.api.entities.order.Rate に非公開で引数のないコンストラクターがあることを確認してください。

ソース宛先に引数なしのコンストラクターを挿入すると機能しますが、それはクラスの誤用につながる可能性があるため、むしろそれを避けたいと思います。

コンバーターを使用してみましたが、うまくいかないようです:

Converter<RateDTO, Rate> rateConverter = new AbstractConverter<RateDTO, Rate>() {
    protected Rate convert(RateDTO source) {
        CurrencyAndAmount price = new CurrencyAndAmount(source.getPrice().getCurrencyCode(), source.getPrice().getAmount());
        Rate rate = new Rate(price, source.getPaymentDate(), source.getPaymentId());
        return rate;
    }
};

引数なしのコンストラクターを使用して宛先にマップする方法をモデルマッパーに伝えることは可能ですか?

4

1 に答える 1