问题描述
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。
解决方法
我不确定是什么问题。你用龙目岛吗?您是否使用字段映射?
如果您使用字段映射,则您的字段应该是公共的(否则,任何人都不能访问它们)。如果将它们公开,对我有用。这是我认为应该的代码:
@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;
}
}