2014-01-30 108 views
0

我正在用JPA開發一個應用程序。 我在啓動應用程序之前填充數據庫時遇到問題。 如果我首先執行此操作,則無法使用我開發的應用程序的用戶界面在數據庫中插入元組,因爲表已經填充完畢。例如我使用主鍵從1到5填充我的表與SQL腳本。爲什麼應用程序不重新啓動插入從6新的元組? 我用它來生成ID的策略是衝突主鍵

@GeneratedValue(strategy=GenerationType.AUTO) 
+0

auto表示:選擇給出的底層數據庫/表中的最佳策略。查看生成的SQL,並告訴我們您使用的是哪個數據庫,以瞭解JPA如何生成ID。它可能使用一個序列或一個表格,並且序列或表格沒有使用數據庫中已有的正確值進行初始化。 –

+0

我使用InnoDB。我也嘗試使用這個命令,但它不起作用ALTER TABLE VOLO MODIFY ID_VOLO ID_VOLO decimal(38,0)AUTO_INCREMENT PRIMARY KEY; VOLO是我的桌子,ID_VOLO我的主鍵列 – Bella

+0

告訴「它不起作用」並不能幫助我們幫助你。準確。描述你做了什麼,你期望的結果是什麼,以及它是什麼。粘貼完全和完整的錯誤消息。 –

回答

0

讓您的主密鑰ID自動增加,然後使用此批註:

@GeneratedValue(strategy=GenerationType.IDENTITY) 
+0

我已經試過這個,但它不起作用 – Bella

+0

您是否還使用過@id標註? –