首先,你必须知道我正在使用一个糟糕的数据库设计,但它不在我的手中。有一个表PART_TAB,它的列FK_elex可以包含对表PART或表OPERATION的记录的引用。表PART_TAB有另一个名为elart的列,它包含“Part”或“Operation”来指示FK_elex引用的表。
我必须用Hibernate来Map它。我创建了一个名为Article的超类和两个子类Article和Operation。ArticleMap表PART和Operation表OPERATION。然后我有一个MapPART_TAB的类Subarticle。在Subarticle中,我创建了一个类型为Article的变量来表示FK_elex,并且应该根据列elart来注解指向Article或Operation。
如果只有一个变量是不可能的,我想创建两个,一个指向Article,另一个指向Operation,但是它们都使用同一列,我不知道如何注解它。
有人能给我指个路吗?谢谢!
1条答案
按热度按时间lmvvr0a81#
我不是100%的工作,但如何:MapPART_TAB作为多态单表。
字符串
然后你有几个处理多态性的选择,比如简单的instanceofs,或者使PartTab成为泛型,或者在抽象类上引入
isArticle()
和isOperation()
,等等。