J'ai un projet java eclipse utilisant apache openJPA
. Est-ce que eclipse a besoin d'une sorte de cache pour être propre?PersistenceException lors de l'exécution de SynchronizeMappings
J'ai eu une classe, UsaState ... mappée au tableau USA_STATE
. Je l'ai enlevé de la base de données, de persistence.xml
, du projet, de références dans les correspondances ... il n'y a pas d'autre projet référencé et j'ai cette erreur:
Exception in thread "main" org.apache.openjpa.persistence.PersistenceException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE = innodb' at line 1 {stmnt 7860099 CREATE TABLE USA_STATE ( ID BIGINT NOT NULL AUTO_INCREMENT, NAME VARCHAR(255), ADDRESS BIGINT, PRIMARY KEY (ID) ) TYPE = innodb } [code=1064, state=42000] at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:553) at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:453) at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:159) at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:119) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:189) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56) at TestMain.main(TestMain.java:18) Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE = innodb' at line 1 {stmnt 7860099 CREATE TABLE USA_STATE ( ID BIGINT NOT NULL AUTO_INCREMENT, NAME VARCHAR(255), ADDRESS BIGINT, PRIMARY KEY (ID) ) TYPE = innodb } [code=1064, state=42000] at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192) at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700(LoggingConnectionDecorator.java:57) at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingStatement.executeUpdate(LoggingConnectionDecorator.java:762) at org.apache.openjpa.lib.jdbc.DelegatingStatement.executeUpdate(DelegatingStatement.java:114) at org.apache.openjpa.jdbc.schema.SchemaTool.executeSQL(SchemaTool.java:1191) at org.apache.openjpa.jdbc.schema.SchemaTool.createTable(SchemaTool.java:949) at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:526) at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:344) at org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:321) at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:501) ... 9 more
Où pourrait être le problème? De quelle manière la persistance pourrait-elle rappeler cette table ou entité? Y a-t-il besoin de nettoyage? Je l'ai déjà nettoyé projet quelques fois ...
Merci
Après le formatage, il ressemble à une [erreur de syntaxe] (http://dev.mysql.com/doc/refman/5.5/en/create-table.html). – trashgod
La question est absurde, mais la pile affichée est un problème valide qui a déjà été corrigé. – Rick