2012-12-26 120 views
0

我有一個使用hibernate-jpa annoatation開發的項目。所有數據庫供應商的唯一ID生成

我有機會使用JPA創建id是AUTO,Increment,sequence和table。

Auto對於所有數據庫供應商都正常工作,但它將所有表格的ID都加在一起。

實施例:表一 - ID爲100

表B ID是101

Çid爲102

我想有ID等

對於表阿ID應100至1000

對於表B的id應該是100至1000

也適用於所有表格。

我不想創建單獨的序列&表並進行數據庫填充。

回答

1

AUTO不會將所有表的ID一起增加。

下面是它做什麼(從JPA規範):

AUTO(自動)值表明持久性提供者應挑選特定數據庫的 相應的策略。 AUTO代 策略可能會期望數據庫資源存在,或者可能會嘗試創建一個 。如果供應商不支持模式生成,或者 無法在運行時創建模式資源,供應商可能會提供有關如何創建此類 資源的文檔。

如果您關心應該使用的策略,那麼定義一個明確的策略以及該策略所需的數據庫資源。