2013-01-18 14 views
5

मैं सभ्य प्रदर्शन के लिए एक हाइबरनेट तालिका के प्राथमिक कुंजी के लिए एक सूचकांक anoatation जोड़ने की आवश्यकता है की @id स्तंभ पर सूचकांक बनाना होगा, मैं मान लिया है कि @id के साथ एक क्षेत्र अंकन एक मतलब होगा सूचकांकआप एक हाइबरनेट तालिका

@Id 
private String guid; 

बनाया गया था, लेकिन मैं कुछ भी नोटिस फ्लॉप DDL कि

जनरेट किया गया था में बनाया जा रहा लेकिन मैं नोटिस कर अगर मैं

@Id 
@org.hibernate.annotations.Index(name = "IDX_GUID") 
private String guid; 

तो एक @index एनोटेशन जोड़ा डीडीएल में एक इंडेक्स बनाया जा रहा है।

तो मुझे लगता है कि मुझे हर टेबल के लिए ऐसा करने की ज़रूरत है, लेकिन मेरा हिस्सा यह सोच रहा है कि यह वास्तव में अनिवार्य है क्योंकि निश्चित रूप से हाइबरनेट प्राथमिक कुंजी के लिए शुरुआती बिंदु के रूप में बनाए गए इंडेक्स चाहते हैं?

उत्तर

6

आप स्पष्ट रूप से सूचकांक बनाने के लिए नहीं है। डीडीएल बयान देखने के बजाय; मैं आपको हाइबरनेट द्वारा बनाई गई अंतिम स्कीमा की जांच करने की सलाह दूंगा। अनुक्रमणिका तालिका विवरण बनाने के हिस्से के रूप में बनाई गई है।

+0

@Deepak, बस मेरी समझ पुष्टि करने के लिए, आप कह रहे हैं कि सूचकांक सृजन DDL (hbm2ddl) निर्यात की प्रक्रिया के हिस्से के रूप में व्यवहार नहीं कर रहा है? यदि ऐसा है, तो वह डीडीएल को काफी हद तक बेकार कर देगा, या क्या मुझे यहां कुछ याद आ रही है? धन्यवाद – paulkmoore

+0

@paulkmoore हम दो तरीकों से इंडेक्स बना सकते हैं; अर्थात। "अनुक्रमणिका बनाएँ ..." या तालिका बनाने के दौरान हम निर्दिष्ट कर सकते हैं .. सभी मैं कह रहा हूँ कि प्राथमिक कुंजी पर इस मामले सूचकांक में तालिका बनाने के दौरान बनाया जाता है। – Deepak

+0

@Deepak, ठीक है धन्यवाद, मैं प्राथमिक कुंजी अनुक्रमित और अन्य (सामान्य) अनुक्रमित के बीच अंतर याद आ रही थी। सहायता के लिए धन्यवाद। – paulkmoore

संबंधित मुद्दे