有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从Modelmapper中排除整个属性(如果它们为null)

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...());
    }
});

在我的情况下,我有很多财产和冗长。 如果映射属性为空,如何从所有映射属性中排除它们。 还有更舒适的解决方案吗

谢谢


共 (1) 个答案

  1. # 1 楼答案

    您可以通过以下配置将ModelMapper配置为忽略所有为null的属性:

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

    例如,对于只想从源对象复制不为null的属性的目标对象的部分更新,它很有用