Comment mapper une base de données MySQL char(n) de la colonne à une variable d'instance à l'aide d'une JPA/Hibernate annotations?
Je rencontre un JPA/Hibernate mapping problème sur une colonne "langue" dans une table MySQL, dont le type char(7). Dans mon entité, le code généré pour le domaine est:
private String language;
cela provoque l'exception suivante lors de l'exécution:
... 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
Merci d'avance !
JP
OriginalL'auteur Jean-Pierre Schnyder | 2011-06-01
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
voir si cela fonctionne.
De même, @Column(name="params",columnDefinition="texte") pour la db colonne "params" de type texte et @Column(name = "publiée", columnDefinition = "tinyint") pour la db colonne "publié" de type tinyint Joomla! les développeurs sont familiers avec.
OriginalL'auteur Femi
Pour moi*Graal cela fonctionne: sqlType: "char" sur la cartographie de
OriginalL'auteur lucasddaniel