我正在使用Hibernate“Table per subclass”方法。但不幸的是,表定义略有不同于为子类方法描述的“最佳实践”。这是因为数据库管理员不会接受带有子类表中的外键的hibernate设计,而是希望从baseclass-table到子类表的外键
架构如下所示:
TABLE BASE
ID <PK>
Class-A <FK TABLE A>
Class-B <FK TABLE B>
TABLE A
ID <PK>
TABLE B
ID <PK>
我没有机会在没有大量讨论的情况下更改架构。
现在问题:
如果让hibernate保存派生类,则插入顺序为
hibernate: insert BASE (...)
hibernate: insert A (...)
但是使用此顺序,违反了约束PK&lt;&gt; FK!我希望hibernate做的是首先插入子类A,然后插入“数据包”基类。有人知道是否可以配置这个以及在哪里配置?