2010-07-05 16 views
22

हाइबरनेट का उपयोग कर जावा में MySQL डेटा प्रकार टेक्स्ट से सही मैपिंग प्रकार क्या है?जावा हाइबरनेट में mysql टाइप टेक्स्ट मैपिंग टाइप करें!

@Column(name = "STACKTRACE", length = Integer.MAX_VALUE) 
public String getStacktrace() { 
    return this.stacktrace; 
} 
+3

Integer.MAX_VALUE? वास्तव में? हर ढेर के निशान के लिए? मैं कुछ और उचित उचित सिफारिश करता हूं जो सीएलओबी आकार का है। – duffymo

उत्तर

48

इस प्रयास करें:

@Column(name = "STACKTRACE") 
@Type(type="text") 
+0

प्रिय मॉरीस, मैंने उपर्युक्त कोशिश की लेकिन मुझे त्रुटि मिल रही है। आपकी मदद बहुत सराहनीय होगी। http://stackoverflow.com/questions/25094410/hibernate-abstractmethoderror-setcharacterstreamiljava-io-readerjv?noredirect=1#comment39048566_25094410 –

+0

'' @ लोब'' का उपयोग क्यों न करें (हालांकि इसे '' LONGTEXT'' उत्पन्न करना चाहिए) प्रकार ? वास्तव में – heroin

8

रिवर्स इंजीनियरिंग हाइबरनेट उपकरण, MySQL प्रकार पाठ से बनाता है:

@Column(name = "COLUMNNAME", length = 65535) 
+0

। यदि आप 'MySQLDialect' को देखते हैं, तो आप देखेंगे कि यह प्रकार प्राप्त करने के लिए लंबाई का उपयोग करता है। –

+0

मुझे लगता है कि यदि आप जेपीए का उपयोग करते हैं तो बेहतर समाधान है। – mhmpl

11

मैं इस समस्या का हल लगता

@Column(length = 65535,columnDefinition="Text") 
0

करने के लिए इस मुद्दे को ठीक करें, मुझे नीचे की तरह एनोटेट करना पड़ा :

@Column(name="LONG_DESCRIPTION" , length = 65535, columnDefinition="TEXT") 
@Type(type="text")' 
संबंधित मुद्दे