निम्नलिखित मानचित्रण ठीक काम करना चाहिए:
@Column(name = "orderId")
@Generated(GenerationTime.INSERT)
private Integer orderId;
ध्यान दें, हालांकि, ताजा सहेजे गए ऑब्जेक्ट्स के लिए जेनरेट किया गया मान सत्र फ़्लश होने तक उपलब्ध नहीं है।
संपादित करें: ध्यान दें कि यह मैपिंग प्रभावित नहीं करती है, हाइबरनेट को serial
प्रकार का कॉलम बनाने के लिए नहीं बनाती है स्कीमा पीढ़ी के दौरान, चूंकि हाइबरनेट डेटाबेस पक्ष में मूल्य निर्माण की प्रकृति के बारे में कुछ भी नहीं जानता है। इसलिए, यदि आप हाइबरनेट को एक उचित प्रकार के साथ एक कॉलम बनाना चाहते हैं, तो आपको इसे स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता है:
@Column(name = "orderId", columnDefinition = "serial")
@Generated(GenerationTime.INSERT)
private Integer orderId;
और हाल ही के हाइबरनेट संस्करण (4.3) पर, आप इसका उपयोग कर सकते हैं:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long orderId;