सभी जनरेटर इंटरफ़ेस को लागू करते हैं। org.hibernate.id.IdentifierGenerator। यह एक बहुत ही सरल इंटरफ़ेस है। कुछ अनुप्रयोग अपने स्वयं के विशेष कार्यान्वयन प्रदान करने के लिए चुन सकते हैं, हालांकि, हाइबरनेट अंतर्निहित कार्यान्वयन की एक सीमा प्रदान करता है। अंतर्निहित जनरेटर के शॉर्टकट नाम इस प्रकार हैं:
वेतन वृद्धि
प्रकार की पहचान करने वालों को लंबे, छोटे या इंट के रूप में उत्पन्न करता है जो केवल तभी अद्वितीय होते हैं जब कोई अन्य प्रक्रिया एक ही तालिका में डेटा नहीं डाल रही हो। एक क्लस्टर में उपयोग न करें।
पहचान
DB2, MySQL, MS SQL Server, Sybase और HypersonicSQL में पहचान कॉलम का समर्थन करता है। लौटाया गया पहचानकर्ता प्रकार लंबा, छोटा या इंट का है।
अनुक्रम
DB2, PostgreSQL, Oracle, SAP DB, McKoi या इंटरबेस में एक जनरेटर में एक अनुक्रम का उपयोग करता है। लौटाया गया पहचानकर्ता प्रकार लंबा, छोटा या इंट का है
हिलो
उच्च मानों के स्रोत के रूप में तालिका (और डिफ़ॉल्ट रूप से क्रमशः hibernate_unique_key और next_hi द्वारा) दिए गए प्रकार, लंबे, छोटे या int के पहचानकर्ताओं को कुशलतापूर्वक उत्पन्न करने के लिए एक हाय / लो एल्गोरिथ्म का उपयोग करता है। हाय / लो एल्गोरिथ्म पहचानकर्ताओं को उत्पन्न करता है जो केवल एक विशेष डेटाबेस के लिए अद्वितीय हैं।
seqhilo
एक नामांकित डेटाबेस अनुक्रम को दिए गए प्रकार, लंबे, छोटे या int के पहचानकर्ताओं को कुशलतापूर्वक उत्पन्न करने के लिए एक हाय / लो एल्गोरिथ्म का उपयोग करता है।
UUID
एक नेटवर्क (आईपी पते का उपयोग किया जाता है) के भीतर अद्वितीय हैं स्ट्रिंग के पहचानकर्ताओं को उत्पन्न करने के लिए एक 128-बिट UUID एल्गोरिथ्म का उपयोग करता है। UUID लंबाई में 32 हेक्साडेसिमल अंकों की एक स्ट्रिंग के रूप में एन्कोडेड है।
GUID
MS SQL सर्वर और MySQL पर डेटाबेस-जनरेटेड GUID स्ट्रिंग का उपयोग करता है।
देशी
अंतर्निहित डेटाबेस की क्षमताओं के आधार पर पहचान, अनुक्रम या हाइलो का चयन करता है।
सौंपा
एप्लिकेशन को सहेजने से पहले ऑब्जेक्ट को एक पहचानकर्ता असाइन करने देता है () कहा जाता है। यदि कोई तत्व निर्दिष्ट नहीं है तो यह डिफ़ॉल्ट रणनीति है।
चुनते हैं
डेटाबेस की ट्रिगर द्वारा सौंपी गई प्राथमिक कुंजी, कुछ अद्वितीय कुंजी द्वारा पंक्ति का चयन करके और प्राथमिक कुंजी मान को पुनः प्राप्त करता है।
विदेशी
किसी अन्य संबद्ध ऑब्जेक्ट के पहचानकर्ता का उपयोग करता है। यह आमतौर पर एक प्राथमिक कुंजी एसोसिएशन के साथ संयोजन में उपयोग किया जाता है।
अनुक्रम पहचान
एक विशेष अनुक्रम पीढ़ी की रणनीति जो वास्तविक मूल्य पीढ़ी के लिए एक डेटाबेस अनुक्रम का उपयोग करती है, लेकिन इसे सम्मिलित विवरण निष्पादन के हिस्से के रूप में उत्पन्न पहचानकर्ता मान को वापस करने के लिए JDBC3 getGeneratedKeys के साथ जोड़ती है। यह रणनीति केवल JDK 1.4 के लिए लक्षित Oracle 10g ड्राइवरों पर समर्थित है। ओरेकल ड्राइवरों में बग के कारण इन सम्मिलित विवरणों पर टिप्पणियाँ अक्षम होती हैं।