簡體   English   中英

如何從 Modelmapper 中排除整個屬性,如果它們為空

[英]how to exclude whole property if they are null from Modelmapper

ModelMapper( http://modelmapper.org/ ) 是否支持排除屬性? 如果值為空。

我剛剛找到了 PropertyMap。 但這對我來說是一個限制。 因為我必須描述我想要的特定屬性。

像這樣。

ModelMapper modelMapper = new ModelMapper();
modelMapper.addMappings(new PropertyMap<TestObject, TestObject>() {
    @Override
    protected void configure() {
        when(Conditions.isNull()).skip().setName(source.getName());
        when(Conditions.isNull()).skip().set...(source.get...());
        when(Conditions.isNull()).skip().set...(source.get...());
        when(Conditions.isNull()).skip().set...(source.get...());
        when(Conditions.isNull()).skip().set...(source.get...());
        when(Conditions.isNull()).skip().set...(source.get...());
    }
});

就我而言,我有很多財產和冗長的內容。 如果映射屬性為空,如何從它們中排除映射屬性。 有沒有更舒服的解決方案?

謝謝。

您可以使用以下配置將 ModelMapper 配置為忽略所有為 null 的屬性:

modelMapper.getConfiguration().setPropertyCondition(Conditions.isNotNull());

例如,它對於目標對象的部分更新很有用,您只想從源對象復制那些非空的屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM