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
)

Campaign 有许多详细信息,可以单独组合为实体,例如campaign_price、campaign_deal、campaign_contact、campaign_retailers 等(总共有9 个)。这些组有一些共同的属性,它们位于campaign_detail 表中。

我想将每个子类的表继承与campaign_detail 及其所有子表一起使用。

但是我有一个问题,我不确定如何处理。大多数子表都通过与campaign_detail 表的一对一关系相关联。到现在为止还挺好。但是有些(9 个中的 3 个)与 Campaign_detail 具有多对一的关系。例如,一个campaign_detail 可能需要多个交易或多个零售商。

那么如何使用 table-per-subclass 继承 JPA 注释来对这些类进行建模。到目前为止,我看到的所有示例都只考虑了一对一的关系。

我正在使用休眠 4.1.4 Final。

谢谢你的帮助。

4

1 回答 1

0

你不能。继承用于建模一种关系:A Car is a Vehicle。香蕉水果。

因此,如果您有一个广告系列详细信息和多个交易,那么这种关系就没有意义。这是一种组合关系,其中一个活动细节多个交易。

于 2013-04-08T18:47:58.247 回答