मैं निम्न त्रुटिजेपीए/हाइबरनेट मानचित्र को MySQL ब्लॉब प्रकार में क्यों नहीं लगाया जा सकता है?
Caused by: org.hibernate.HibernateException: Wrong column type in TestTable for column PAYLOAD. Found: blob, expected: tinyblob
at org.hibernate.mapping.Table.validateColumns(Table.java:284)
at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1174)
at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:139)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:387)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:883)
... 60 more
स्तंभ हाइबरनेट के बारे में के रूप में
private byte[] messagePayload;
@Column(name="PAYLOAD")
public byte[] getMessagePayload() {
return messagePayload;
}
public void setMessagePayload(byte[] messagePayload) {
this.messagePayload = messagePayload;
}
MySQL तालिका में तालिका ब्लॉब प्रकार के रूप में घोषित किया जाता है घोषित किया जाता है शिकायत कर रहा है मिला है। Hibernate क्यों मैप करना चाहता है और यह क्यों जोर देता है कि मैं TINYBLOB का उपयोग करता हूं?
धन्यवाद
'columnDefinition' पोर्टेबल नहीं है, बाद मानक है। 'टाइप' हाइबरनेट में उपलब्ध है जबकि यह जेपीए में नहीं है। –
मैंने एक्लिप्ससेंक और MySQL के साथ दूसरा किया है और यह सत्यापित कर सकता है कि यह अपेक्षित काम करता है। –
मैंने उत्तर में अधिक जानकारी के लिए टिप्पणी जोड़ा है क्योंकि ओपी ने टैग जेपीए/हाइबरनेट का उल्लेख किया है, इसके काम के बारे में नहीं। –