जब आप एक bigserial
बनाते हैं Postgresql में कॉलम, आप वास्तव में एक अनुक्रम बना रहे हैंए> . जब आपने मैन्युअल रूप से '1' का आईडी मान डाला, तो पोस्टग्रेस्क्ल ने इसे ध्यान में रखने के लिए अनुक्रम को अपडेट नहीं किया। हाइबरनेट पोस्टग्रेस्क्ल को आईडी उत्पन्न करने के लिए अनुक्रम का उपयोग करने देता है, लेकिन उत्पादित पहला मूल्य '1' है, जो संघर्ष करता है। दूसरा मान ठीक है।
यदि आपने हाइबरनेट के पीछे जाकर और सीधे SQL का उपयोग करके समस्या बनाई है, तो आपको इसे उसी तरह ठीक करना चाहिए:ALTER SEQUENCE
का उपयोग करें अगला मान सेट करने के लिए
:
alter sequence basedesign_id_seq restart with 2;