0

次のシナリオがあります-

Table campaign_detail (
    campaign_detail_id (PK),
    campaign_detail_caption,
    campaign_detail_description,
    campaign_detail_type (DISCRIMINATOR)
)

Table campaign_price_detail (
    campaign_detail_id (PK) REFERENCES (campaign_detail), // ONE_TO_ONE with campaign_detail
    campaign_price_amount,
    campaign_price_URL
)

Table campaign_deal_detail (
    deal_id (PK)
    campaign_detail_id REFERENCES (campaign_detail), // MAN_TO_ONE with campaign_detail
    campaign_deal_code,
    campaign_deal_period
)

キャンペーンには、キャンペーン価格、キャンペーン取引、キャンペーン連絡先、キャンペーン小売業者など (全部で 9 つあります) など、エンティティとしてグループ化できる多くの詳細情報があります。これらのグループには、campaign_detail テーブルにあるいくつかの共通のプロパティがあります。

Campaign_detail とそのすべてのサブテーブルでサブクラスごとのテーブル継承を使用したいと考えています。

ただし、1 つの問題があり、それを処理する方法がわかりません。ほとんどのサブテーブルは、campaign_detail テーブルと 1 対 1 の関係で関連付けられています。ここまでは順調ですね。ただし、一部 (9 つのうち 3 つ) は、campaign_detail との多対 1 の関係によって関連付けられています。たとえば、1 つの Campaign_detail を複数の取引や複数の小売業者に関連付けることができます。

では、サブクラスごとのテーブル継承 JPA アノテーションを使用して、これらのクラスをモデル化するにはどうすればよいでしょうか。これまで見てきたすべての例は、1 対 1 の関係のみを考慮しています。

休止状態 4.1.4 Final を使用しています。

ご協力いただきありがとうございます。

4

1 に答える 1

0

できません。継承はis a関係をモデル化するために使用されます: A Car is a Vehicle. バナナ果物です。

したがって、1 つのキャンペーンの詳細と複数の取引がある場合、この関係は意味がありません。これは合成関係であり、1 つのキャンペーンの詳細複数の取引があります。

于 2013-04-08T18:47:58.247 に答える