com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException解决方式

来源:互联网 发布:卖图片知乎 编辑:程序博客网 时间:2024/06/05 23:06

将数据库由Oracle切换到Mysql中,把数据库连接配置由xml中移到hibernate.properties,启动时报错:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'hibernate_example.all_sequences' doesn't exist

22:58:24,581 ERROR org.hibernate.tool.hbm2ddl.SchemaUpdate:175 - could not get database metadatacom.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'hibernate_example.all_sequences' doesn't existat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)at java.lang.reflect.Constructor.newInstance(Constructor.java:513)at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)at com.mysql.jdbc.Util.getInstance(Util.java:360)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)at org.hibernate.tool.hbm2ddl.DatabaseMetadata.initSequences(DatabaseMetadata.java:151)at org.hibernate.tool.hbm2ddl.DatabaseMetadata.<init>(DatabaseMetadata.java:69)at org.hibernate.tool.hbm2ddl.DatabaseMetadata.<init>(DatabaseMetadata.java:62)at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:170)at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:373)at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1842)at com.demo.model.StudentTest.init(StudentTest.java:23)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)at org.junit.runners.ParentRunner.run(ParentRunner.java:300)at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

原因是在hibernate.cfg.xml文件中没有将Oracle方言删除

 <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>

0 0
原创粉丝点击