2

EntityItem を使用してメンバーフィールドをフィールドグループにバインドする際に問題があります。

スーパークラスから一部のフィールドを継承するサブクラスから 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;

    ....
}

ウィンドウクラスでメンバーフィールドをバインドしようとすると、サブクラスのフィールドではなく、スーパークラスのメンバーフィールドのみがバインドされます。

public void setEntityItem(Item item) {
    this.fieldGroup.setItemDataSource(item);
    this.fieldGroup.bindMemberFields(this);
}

誰か助けてくれませんか

4

1 に答える 1