2010-07-01 25 views
6

मैं जेपीए को टेक्स्ट सामग्री के साथ एक MySQL डेटाबेस कॉलम सेट करने के लिए कैसे ऑर्डर कर सकता हूं, जो सृजन पर डिफ़ॉल्ट रूप से संवेदनशील है?MySQL में स्वचालित रूप से जेपीए के साथ केस संवेदनशील कॉलम कैसे उत्पन्न करें

उत्तर

1

MySQL varchar प्रकार केस-संवेदी नहीं है। आप क्या चाहते हैं varbinary है।

CREATE TABLE IF NOT EXISTS `stuff` (
    `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, 
    `name` varbinary(255) NOT NULL   -- varbinary to be case sensitive 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
+0

यह सख्ती से सच नहीं है कि 'वर्कर' मामला असंवेदनशील है - यह तालिका संयोजन पर निर्भर करता है। उदाहरण के लिए, 'utf8_unicode_cs' केस संवेदनशील है, जबकि' utf8_unicode_cs' नहीं है। – Mike

+0

लेकिन मैं जेपीए स्वचालित रूप से स्वचालित स्कीमा निर्माण पर इसे कैसे सेट कर सकता हूं? जब भी मैं अपने प्रोग्राम का उपयोग किसी अन्य कंप्यूटर या डेटाबेस इंस्टेंस पर करता हूं, तब तक मैं जनरेटेड स्कीमा को हाथ से नहीं लेना चाहता हूं। – ali

+0

मुझे जेपीए के बारे में कुछ भी पता नहीं है, लेकिन मुझे अभी मिला है [जेपीए/हाइबरनेट, माईएसक्ल और टॉमकैट के साथ कैरेक्टर एन्कोडिंग यूटीएफ -8] (http://mathiasrichter.blogspot.com/2009/10/character-encoding-utf -8-with.html)। यह कुछ उपयोग का हो सकता है। – Mike

7

अपने मैदान पर @Column एनोटेशन एक columnDefinition विशेषता है जो आप स्तंभ के लिए एक केस-संवेदी मिलान निर्दिष्ट करने के लिए अनुमति दे सकता है निर्दिष्ट कर सकते हैं।

public abstract String columnDefinition

        (वैकल्पिक) एसक्यूएल टुकड़ा है कि जब स्तंभ के लिए DDL पैदा किया जाता है।
        अनुमानित प्रकार के कॉलम को बनाने के लिए जेनरेट किए गए SQL पर डिफ़ॉल्ट।
        डिफ़ॉल्ट:
                ""

आपके मामले में, उदाहरण के लिए, @Column एनोटेशन का उपयोग कर, आप का प्रयोग करेंगे

@Column (नाम = "NAME_COL", कॉलमडिफिनिशन = "VARCHAR (250) COLLATE latin1_g eneral_cs ") निजी स्ट्रिंग नाम;

+0

दुर्भाग्य से काम नहीं करता है। अगर मैं सलाह देता हूं कि ऐसा लगता है कि जेपीए को कॉलिंग पर स्ट्रिंग डेटाटाइप मैप करने में समस्याएं हैं और अपवाद फेंकता है। – ali

+1

क्या आप अपवाद और उसका संदेश प्रदान कर सकते हैं? आप किस जेपीए कार्यान्वयन का उपयोग कर रहे हैं? – jbindel

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