我有表Employee
與主鍵employee_id
在oracle中。 我有一個遺留應用程序將記錄插入到此表中。這個遺留應用程序使用使用本地SQL純JDBC即作爲JPA休眠Oracle - 自動生成主鍵由max + 1
INSERT INTO employee (employe_id, NAME) VALUES ((SELECT MAX (employee_id) + 1 FROM employee), NAME);
現在我正在開發使用JPA + Hibernate的,它具有插入記錄同桌Employee
新的應用程序。我堅持如何自動生成主鍵。遺留應用程序和新應用程序都將繼續使用此表,並且我不允許對遺留應用程序代碼進行任何更改。
如果我創建新的數據庫序列並使用它,那麼就有可能與舊應用程序和新應用程序發生衝突。
有沒有辦法告訴JPA使用MAX(employee_id)+1
來自動生成主鍵。
這種做法是錯誤的,可以在多用戶環境中無法正常工作。是否有任何商業原因,爲什麼ymu必須重新實施它? – ibre5041
使用序列來獲得獨特的想法。這個max()+ 1方法不會像伊萬傷心那樣工作。 – Christian13467
謝謝@Ivan。我被要求在組件模型中實現它。在用戶認證新應用程序之前,遺留應用程序也將被使用。我最好用DB序列去,也會得到遺留應用程序也使用DB序列。 – Adi