我有一个类B
,它扩展了一个abstract
类A
。类A
有一个在构造函数中初始化的私有成员。
public abstract class A {
private String _dtoType;
private String uuid = UUID.randomUUID().toString();
public A() {
this._dtoType = this.getClass().getSimpleName();
}
public String getDtoType() { return this._dtoType; }
public String getUuid() { return this.uuid; }
}
public class B extends A {
private String accountNumber;
private String name;
private C propC;
private List<D> propDs;
public B() {
super();
}
}
假设C
和D
也扩展了A
。
我想忽略所有类的_dtoType
和uuid
。比如说,如果我正在创建一个B
的示例:
B item = Instancio.of(B.class)
.generate(field(B::getAccountNumber), gen -> gen.text().pattern("#d#d#d#d#d#d#d#d"))
.ignore(all(field("_dtoType")))
.ignore(all(field("uuid")))
.subtype(all(C.class), C.class)
.subtype(all(D.class), D.class)
.create();
但是,我得到一个错误:
Reason: invalid field '_dtoType' for class B
1条答案
按热度按时间j5fpnvbx1#
看起来我必须具体并在ignore中引用抽象类
A
: