在使用 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 就沒辦法統一管理了。