源类和目标类扩展同一类映射结构


abstract class baseClass {
String updateUser;
}
class A extends baseClass {
String updateTime;
}
class B extnds baseClass {
String updateTime;
}
@Mapper(componentModel = "spring")
public interface FLGenericMapper {
B mapToB(A a);
}

我有类似的代码。当从A到B进行映射时。我看到updateUser没有映射。请有人告诉我,我应该做些什么来映射抽象类的updateUser吗。

我不确定到底是什么问题。你用lombok吗?你使用字段映射吗?

如果您使用字段映射,您的字段应该是公共的(否则没有人可以访问它们(。如果你把它们公开,它对我有效。下面是我认为应该是的代码:

@Mapper(componentModel = "spring")
public interface MyMapper {
B mapToB(A a);
abstract class BaseClass {
public String updateUser;
}
class A extends BaseClass {
public String updateTime;
}
class B extends BaseClass {
public String updateTime;
}
}

结果:


@Component
public class MyMapperImpl implements MyMapper {
@Override
public B mapToB(A a) {
if ( a == null ) {
return null;
}
B b = new B();
b.updateUser = a.updateUser;
b.updateTime = a.updateTime;
return b;
}
}

最新更新