我有一个抽象类A,许多其他类继承它 在我们的数据库(Oracle)中,这些类由每个类的表映射,并且继承由子表中的FK实现(子项的PK引用A的PK上的FK)。 到现在为止还挺好。很标准。
现在,我们如何生成PK?当然有一系列...但我们的DBA决定在继承A的特定表B中创建行时,PK将从不同的序列(B的序列)生成。
我的问题 - 如何在JPA中映射?我希望B类继承A类,但是当它被实例化时,我想要使用不同的序列生成它的ID(即A的ID)。
答案 0 :(得分:0)
JPA没有提供覆盖子类中序列生成器的方法。
您可以将超类设为@MappedSuperclass,而不是在其中定义id,然后您可以在子类中以不同方式定义它。
如果使用EclipseLink,您可以在子类上定义DescriptorCustomizer(@Customizer),并将描述符上的sequenceName设置为另一个序列。