【问题标题】:PersistenceException when running SynchronizeMappings [closed]运行 SynchronizeMappings 时出现 PersistenceException [关闭]
【发布时间】:2011-11-16 07:40:55
【问题描述】:
我有使用 apache openJPA 的 eclipse java 项目。 eclipse 是否需要清理某种缓存?
我有一个班级,UsaState ...映射到USA_STATE 表。我已将其从数据库、persistence.xml、项目、映射中的引用中删除......没有其他引用的项目,我有这个错误:
线程“主”org.apache.openjpa.persistence.PersistenceException 中的异常:
您的 SQL 语法有错误;检查手册
对应于您的 MySQL 服务器版本,以便使用正确的语法
在第 1 行的“TYPE = innodb”附近 {stmnt 7860099
创建表 USA_STATE (
ID BIGINT NOT NULL AUTO_INCREMENT,
名称 VARCHAR(255),
地址 BIGINT,
主键 (ID)
) 类型 = innodb
} [代码=1064,状态=42000]
在 org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:553)
在 org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:453)
在 org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:159)
在 org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:119)
在 org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:189)
在 org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
在 org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
在 org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
在 org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
在 TestMain.main(TestMain.java:18)
引起:org.apache.openjpa.lib.jdbc.ReportingSQLException:你有
SQL 语法错误;检查对应的手册
您的 MySQL 服务器版本,以便在 'TYPE = 附近使用正确的语法
innodb' 在第 1 行 {stmnt 7860099
创建表 USA_STATE (
ID BIGINT NOT NULL AUTO_INCREMENT,
名称 VARCHAR(255),
地址 BIGINT,
主键 (ID)
) 类型 = innodb
} [代码=1064,状态=42000]
在 org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)
在 org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access 700 美元(LoggingConnectionDecorator.java:57)
在 org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingStatement.executeUpdate(LoggingConnectionDecorator.java:762)
在 org.apache.openjpa.lib.jdbc.DelegatingStatement.executeUpdate(DelegatingStatement.java:114)
在 org.apache.openjpa.jdbc.schema.SchemaTool.executeSQL(SchemaTool.java:1191)
在 org.apache.openjpa.jdbc.schema.SchemaTool.createTable(SchemaTool.java:949)
在 org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:526)
在 org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:344)
在 org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:321)
在 org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:501)
... 9 更多
问题可能出在哪里?持久性以何种方式可以记住该表或实体?
有没有一些干净的?我已经清理过几次项目...
谢谢
【问题讨论】:
-
-
这个问题是无意义的,但发布的堆栈是一个已经修复的有效问题。
标签:
java
mysql
eclipse
openjpa