在使用 Hibernate 的 union-subclass 繼承關係映射時, 父類id 的生成策略 不能選用 native, indentity 這種依靠數據庫自己管理id的方式。需要使用 increment,hilo 這種通過計算后獲得id 的方式。
否則會報錯:Cannot use identity column key generation with <union-subclass> mapping for 。。。
原因是:多個子類的表的 id 需要被統一管理。
比如:子類A (表A)的第一條數據的 id 為1, 那麼 子類B(表B)的第一條數據就不能是1 了,可能為2。
如果使用數據庫級的id生成策略, 則多個子類的表的 id 就沒辦法統一管理了。
在Hibernate中使用union-subclass繼承關係映射時,必須避免使用由數據庫自動管理ID的策略,如native或identity。應選擇increment或hilo等策略來確保子類表中的ID能夠統一管理。
4491

被折叠的 条评论
为什么被折叠?



