我有使用EntityItem綁定成員字段到字段組的問題。vaadin bindmemberfields綁定不是所有memberfields
我從一個子類創建一個EntityItem,其中一些字段構成超類。
Class<?> dataClass = navigator.getNavigationList().get(navigator.getActualNavigation()).getDataClass();
Constructor<?> pConstructor = dataClass.getConstructor();
pv = (ProduktVereinbarung)pConstructor.newInstance();
eI = fPPC.createEntityItem(pv);
超類:
@Entity
@Table(name="PRODUKT_VEREINBARUNG")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name="PV_TYPE", discriminatorType = DiscriminatorType.STRING)
public class ProduktVereinbarung implements Serializable {
@Column(name="PV_ID")
protected int id;
@Column(name="PV_FK_PK_ID")
protected int finanzProduktKlasse;
@Column(name="PV_BEZEICHNUNG")
protected String bezeichnung;
......
類和子類:
@Entity
@Table(name="PV_EDELMETALL")
@DiscriminatorValue("PVEdelMetall")
public class PVEdelMetall extends ProduktVereinbarung implements Serializable {
@Column(name="PVEM_KAUFKURS")
protected Double kaufKurs;
@Column(name="PVEM_MENGE")
protected int menge;
....
}
當我嘗試在我的窗口類的memberfields僅綁定超類的memberfields是綁定 - 不子類別的字段:
public void setEntityItem(Item item) {
this.fieldGroup.setItemDataSource(item);
this.fieldGroup.bindMemberFields(this);
}
有人可以幫忙
子類PVEdelmetallWindowImpl不從ProduktVereinbarung繼承或者是ProduktVereinbarungWindowImpl的一個子類? – melc
如果在方法setEntityItem中傳遞的項目是一個BeanItem,那麼確保使用您的子類的一個實例來實例化它。 – melc
對不起,我發佈了編輯器窗口的子類而不是子類。現在應該是正確的。 – stoi