मुझे भी यही समस्या थी। यह हाइबरनेट की आईडी आवंटन रणनीतियों से संबंधित है। जब आप GenerationType.SEQUENCE . चुनते हैं , हाइबरनेट HiLo रणनीति का उपयोग करता है जो डिफ़ॉल्ट रूप से 50 के ब्लॉक में आईडी आवंटित करता है। तो आप स्पष्ट रूप से आवंटन आकार . सेट कर सकते हैं इस तरह मूल्य:
@Id
@SequenceGenerator(name="pk_sequence",sequenceName="entity_id_seq", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pk_sequence")
@Column(name="id", unique=true, nullable=false)
public int getId() {
return this.id;
}
हालांकि, मैंने यह राय भी सुनी है कि allocationSize=1 . के साथ HiLo रणनीति का उपयोग करना अच्छा अभ्यास नहीं है। कुछ लोग GenerationType.AUTO . का उपयोग करने की सलाह देते हैं इसके बजाय जब आपको डेटाबेस-प्रबंधित अनुक्रमों से निपटना होता है
अपडेट करें: मैंने आवंटन आकार =1 के साथ जाना समाप्त कर दिया, और चीजें काम करने लगती हैं जैसा मैं अभी उम्मीद करता हूं। मेरा आवेदन ऐसा है कि मुझे वैसे भी आईडी के ब्लॉक की आवश्यकता नहीं है, इसलिए वाईएमएमवी।