2010-11-03 17 views
8

यदि मैं जेपीए (एक्लिप्ससेंक) का उपयोग करता हूं तो स्ट्रिंग प्रकार के परिणाम वर्चर 2 (255) में टेबल बनाने के लिए। वर्चर 2 (20) विशेषता बनाने के लिए मैं जेपीए (एनोटेशन के माध्यम से) कैसे कह सकता हूं।जेपीए को कैसे पेश किया जाए डेटाप्रिप

अगर मैं एक सूची जेपीए एक ब्लॉब (4000) पैदा करता है लेकिन मैं एक varchar2 (मेरे धारावाहिक वस्तु की स्ट्रिंग छोटा है)

यह कैसे संभव है करना चाहते हैं? क्या मुझे इसे हाथ से करना है?

उत्तर

18

आपको @ कॉलम एनोटेशन की कॉलम परिभाषा संपत्ति का उपयोग करने की आवश्यकता है। अर्थात

@Column(columnDefinition="varchar2(20)") 
+0

बहुत बहुत धन्यवाद ... कल इसे आजमाएंगे –

+0

-1 जैसा कि @ पास्कल उत्तर नीचे बेहतर है। यह आपके कोड में डेटा प्रकार को स्पष्ट रूप से संदर्भित करने के कारण संगतता समस्या से बचाता है। –

+0

यह उन परिस्थितियों के लिए उपयोगी है जब आपको जेपीए को बताने की आवश्यकता है कि कॉलम NVARCHAR नहीं है VARCHAR (255), लेकिन यह मामला नहीं है। – David

3
@Column(name = "doc_number", columnDefinition = "varchar2(20)") 

कृपया, कि कोशिश करते हैं।

+0

कॉलमडिफ़िशन से संबंधित पोर्टेबिलिटी समस्याओं का उल्लेख करने के लिए यह पोर्टेबल समाधान – ruX

15

यदि मैं एक वर्चर 2 (255) में स्ट्रिंग प्रकार के परिणाम तालिका बनाने के लिए जेपीए (एक्लिप्ससेंक) का उपयोग करता हूं। वर्चर 2 (20) विशेषता बनाने के लिए मैं जेपीए (एनोटेशन के माध्यम से) कैसे कह सकता हूं।

columnDefinition का उपयोग एक डेटाबेस से दूसरे डेटाबेस में पोर्टेबिलिटी को तोड़ सकता है। ,

@Column(length=20) 
String someString; 
+2

+1 नहीं है। –

+2

मुझे लगता है कि आप संख्यात्मक मानों के लिए विशेषता के बारे में बताते हुए अपना उत्तर सुधार सकते हैं। – PhoneixS

4

आप अपने @Column एनोटेशन पर length सेट कर सकते हैं जैसे:: एक स्ट्रिंग-मान स्तंभ के लिए, length तत्व (जो 255 चूक) का उपयोग कर पसंद करते हैं

@Column(length = 20) 

ध्यान दें कि लंबाई है केवल पाठ कॉलम के लिए। संख्यात्मक के लिए, आप precision और scale का उपयोग कर सकते हैं।

+1

+1 उसी विचार के लिए :) :) –

+0

नीचे वोट के साथ क्या है? –

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