2013-07-16 42 views
0

我有一個表格,其中插入了來自兩個不同應用程序的數據。一個是使用INSERT QUERIES的遺留應用程序,另一個使用hibernate插入值。同時具有休眠和手動插入的表格

但是,當我們嘗試在手動插入運行後插入時,hibernate insert(generator =「identity」)第一次失敗(索引約束)。

但是,當我們第二次嘗試插入工作。爲什麼發生這種情況?

是休眠緩存下一個主鍵值,然後使用該值與手動max + 1插入衝突?

請幫忙

回答

0

我懷疑鑰匙發生器問題。即:你的手動插入使用一種機制來獲得下一個主鍵(選擇最大ID + 1也許),而休眠使用本地數據庫方法,因此當它試圖'猜'下一個主鍵失敗時

只要這兩個系統使用相同的方法來生成主鍵它不應該是一個問題