我有以下情况 -
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_price,campaign_deal,campaign_contact,campaign_retailers等(总共有9个)。 这些组具有campaign_detail表中的一些常用属性。
我想使用每子类的表继承与campaign_detail及其所有子表。
但是我有一个问题,我不知道如何处理。 大多数子表通过与campaign_detail表的一对一关系相关联。到现在为止还挺好。但是一些(9个中的3个)与campaign_detail的多对一关系相关。例如,一个campaign_detail可能需要多个交易或多个零售商。
那么我如何使用table-per-subclass继承JPA注释来建模这些类。到目前为止,我看到的所有例子都只考虑了一对一的关系。
我正在使用hibernate 4.1.4 Final。
感谢您的帮助。
答案 0 :(得分:0)
你做不到。继承用于建模是关系:Car 是车辆。香蕉是水果。
如果您有一个广告系列详细信息和多个优惠,那么这种关系就没有意义了。这是一种合成关系,其中一个广告系列详细信息已经多次交易。