2

あなたの助けが必要です。

JPAマップで必要な値の次の表があります。

マップするテーブル

次のクラス構造を検討しました。

ここに画像の説明を入力

クラス "NotificationCustomShippingPlan" および "PreviewCustomShippingPlan" は、全員に DiscriminatorColumn "Type" の DiscriminatorValue を取得します。

ただし、クラス「ActivResultCustomShippingPlan」および「ActivResultCustomShippingPlan」は、別の DiscriminatorColumn「SubType」を取得する必要があります。

どのようにすれば、どのマップを表示できますか?

私の気持ちは、それは不可能だと教えてくれました。

編集:

@Entity
@Inheritance
@DiscriminatorColumn(name = "TYPE")
@Table(name = "CC_CUSTOM_SHIPPING_PLAN")
public abstract class AbstractCustomShippingPlan {
....
....
}


@Entity
@DiscriminatorValue("NOTIFICATION")
public class NotificationCustomShippingPlan extends AbstractCustomShippingPlan



@Entity
@DiscriminatorValue("PREVIEW")
public class PreviewCustomShippingPlan extends AbstractCustomShippingPlan


@Entity
@DiscriminatorValue("RESULTS")
@DiscriminatorColumn(name = "SUBTYPE")
public abstract class ResultCustomShippingPlan extends AbstractCustomShippingPlan {

    @Enumerated(EnumType.STRING)
    @Column(name = "CC_CSP_SUBTYPE")
    private ServiceType.Subtype subtype;

}


@Entity
@DiscriminatorValue("ACTIVE")
public class ActivResultCustomShippingPlan extends ResultCustomShippingPlan{
    .....
}



@Entity
@DiscriminatorValue("REPORTED")
public class ReportedResultCustomShippingPlan extends ResultCustomShippingPlan {
....

}
4

0 に答える 0