如何使用两个鉴别符列进行JPA映射?

时间:2018-11-28 05:20:44

标签: jpa annotations

鉴于我有一个带鉴别符列的主表。考虑到我之前有一些开发人员,我决定创建第二列以用作另一个区分符。

例如, 桌子PERSON

|ID|TYPE|GROUP|MORE_FIELDS|
|1 |ORGANIZATION|null|...
|2 |NATURAL_PERSON|ADULT|...
|3 |NATURAL_PERSON|MINOR|...

table ADULT
|ID|PERSON_ID|MORE_FIELDS|
|1 |2        |...

如果我想将此映射为 成人是自然人是人

我遇到了一个问题,我可以区分JPA中的类型,但不能区分子类型,例如,当试图在NaturalPerson上定义DiscriminatorColumn时,它在Person上的DiscriminatorColumn具有DiscriminatorValue时,Hibernate似乎丢失了它,并且应用错误的列,Person父级的注释将被覆盖。 我尝试将Adult映射为子类的原因是,存在一个需要在该条件下进行连接的辅助表。

该示例是对该问题的简化抽象。

0 个答案:

没有答案