0

我有 2 节课。

public class View implements Serializable {
  private Long id;

  private String name;

  private String category;

  private List<ColumnData> columns;
}

以及 DTO 类(即请求 API 结构)


public class ViewDTO implements Serializable {
  private Long id;

  private String name;

  private String category;

  private List<Column> columns;
}

ColumnData是一个子类Column

现在在自动生成的映射器中我收到一个错误

ConfiguredViewMapperImpl.java:[98,57] incompatible types: inference variable T has incompatible bounds
[ERROR]     equality constraints: java.util.List<com.domain.view.model.Column>
[ERROR]     lower bounds: java.util.List<com.domain.view.model.ColumnData>,java.lang.Object

所以,我的子类ColumnData不能从父类实例中赋值Column

因此,我尝试创建一个可供ViewMapper班级使用的新映射器,但我不知道如何使用它。

我尝试使用使用参数,但它没有工作

@Mapper(componentModel = "spring", uses = ColumnMapper.class)

在自动生成的实现中导致错误的代码是

        if ( view.getColumns() != null ) {
            List<ColumnData> list = unwrap( request.getColumns() );
            if ( list != null ) {
                view.getColumns().clear();
                view.getColumns().addAll( list );
            }
        }
4

0 回答 0