我有 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 );
}
}