2011-06-01 12 views
15

मुझे एक MySQL तालिका में कॉलम "भाषा" पर एक जेपीए/हाइबरनेट मैपिंग समस्या का सामना करना पड़ता है जिसका प्रकार char (7) है। मेरी इकाई में, क्षेत्र के लिए उत्पन्न कोड है:एक जेपीए/हाइबरनेट एनोटेशन का उपयोग कर एक इंस्टेंस वैरिएबल में MySQL char (n) कॉलम को कैसे मैप करें?

private String language; 

इस क्रम में निम्न अपवाद का कारण बनता है:

 ... 43 more 
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: prosvetaPersistenceUnit] Unable to build EntityManagerFactory 
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:911) 
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:74) 
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225) 
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:308) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) 
    ... 58 more 
Caused by: org.hibernate.HibernateException: Wrong column type in joo16_dev.jos_categories for column language. Found: char, expected: varchar(255) 
    at org.hibernate.mapping.Table.validateColumns(Table.java:283) 
    at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1313) 
    at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:139) 
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:378) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1842) 
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:902) 
    ... 63 more 

अग्रिम धन्यवाद!

जेपी

उत्तर

24

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

@Column(name="language",columnDefinition="char(7)") 

देखना है कि अगर काम करता है।

+1

धन्यवाद, हाँ, यह काम करता है: \t @Column (नाम = "भाषा", columnDefinition = "चार") –

+1

इसी तरह , कॉलम (नाम = "पैराम्स", कॉलमडिफिनिशन = "टेक्स्ट") टाइप टेक्स्ट के डीबी कॉलम "पैराम्स" और @ कॉलम (नाम = "प्रकाशित", कॉलमडिफिनिशन = "टिनिंट") के लिए डीबी कॉलम के लिए "प्रकाशित" टाइप करें जूमला! डेवलपर्स परिचित हैं। –

0

मेरे लिए * Grails यह काम करता है: sqlType: मानचित्रण पर "चार"

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