hibernate 报错: ``` WARN: GenerationTarget encountered exception accepting command : Error executing
hibernate 报错:
WARN: GenerationTarget encountered exception accepting command : Error executing DDL via JDBC Statement
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL via JDBC Statement
在用hibernate写一个自动创建数据表的时候 报错无法创建数据表,但是自动生成的sql语句没有问题,查看报错详细信息:
WARN: GenerationTarget encountered exception accepting command : Error executing DDL via JDBC Statement
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL via JDBC Statementat org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67)at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlString(SchemaCreatorImpl.java:440)at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlStrings(SchemaCreatorImpl.java:424)at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:315)at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:166)at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:135)at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:121)at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:155)at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72)at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:309)at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:452)at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:710)at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726)at com.object.testUser.test(testUser.java:22)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)at org.junit.runners.ParentRunner.run(ParentRunner.java:363)at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 9at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:423)at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)at com.mysql.jdbc.Util.getInstance(Util.java:408)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:943)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3970)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2677)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2503)at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:839)at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:739)at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:54)... 36 more
sql方言配置:
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
创建表的策略:
<property name="hbm2ddl.auto">create</property>
根据上面的报错信息,可以知道是mysql版本的问题:
在MySQL5.0以前,type=InnoDB是有效的SQL语句,但是自己用的是MySQL5.7版本,type=InnoDB不再有效了
解决办法:修改hibernate.cfg.xml中的dialect属性,将:
org.hibernate.dialect.MySQLInnoDBDialect
更改为:
org.hibernate.dialect.MySQL5InnoDBDialect
这样就没有问题,可以正常创建数据表了。
hibernate 报错: ``` WARN: GenerationTarget encountered exception accepting command : Error executing相关推荐
- 使用Hibernate: GenerationTarget encountered exception accepting command : Error executing DDL “
MySQL5版本不能使用ORDER来建表 原因可能是:使用了关键字或者保留字来建表,(我这里使用了ORDER)ORDER为MySQL的关键字 修改一下表名即可 以下为报错信息:(可以参考一下看看) H ...
- 小白学习Hibernate遇到的错误以及解决办法(GenerationTarget encountered exception accepting command : Error executing)
由于项目需要,这几天在学习Hibernate,遇到了一个小错误,但是让我解决了一天多--. 遇到问题 废话不多说,先上错误 , 解决问题 翻遍google,百度,各种办法都试了,就是不行,最后对照一篇 ...
- 记一次GenerationTarget encountered exception accepting command : Error executing DDL的解决技巧
将生成的SQL语句复制到图形化界面工具,我这里用的是Navicat Premium,然后美化SQL(格式化)一下,这样就是一个字段一行,方便后面排查错误. 字段名是黑色的即合法的,蓝色的则是保留字段. ...
- GenerationTarget encountered exception accepting command :Error executing DDL via JDBC Statement
GenerationTarget encountered exception accepting command :Error executing DDL "create table ... ...
- 解决Hibernate报错The server time zone value is unrecognized or represents more than one time zone
解决Hibernate报错The server time zone value is unrecognized or represents more than one time zone 笔者在使 ...
- 登陆weblogic console报错 The server encountered an unexpected condition which prevented it from
登陆weblogic console报错 The server encountered an unexpected condition which prevented it from fulfilli ...
- 总结xml配置spring-aop声明式事务配置与hibernate报错:** isno active spring和hibernate整合,原因会话工厂去路(到spring不仅仅是bean)错误
spring事务管理太厉害了!!可以不再自管事务开发了! spring aop声明式事务配置 问题: 困扰我近十多天的的spring事务管理终于解决了, 再也不用自己管理事务了 嗯,可以删该死的hib ...
- conda install 换源_科学网—Anaconda 报错Multiple Errors Encountered和添加国内镜像以及换源和恢复默认源 - 张伟的博文...
(一)情景一 在安装完成 Anaconda 后,创建虚拟环境接连遇到报错 Multiple Errors Encountered 和 Anaconda An HTTP error occurred ...
- JUnit报错:Java.lang.Exception: No runnable methods解决方案
JUnit报错:Java.lang.Exception: No runnable methods解决方案 参考文章: (1)JUnit报错:Java.lang.Exception: No runnab ...
最新文章
- delphi创建和读取xml(xml简单操作举例)
- 6/29 原型编码阶段:(2) GridView的数据库操作
- MS SQLSERVER通用存储过程分页
- (传送门)linux命令总结dd命令详解
- 开源——需要分享共享的无私精神
- 我不建议你这样进军人工智能……
- python xlwt模块生成excel文件并写入数据 xlrd读取数据
- 看看这套WPF开源基础控件库:WPFDevelopers
- php describe,php – 在Zend框架中的许多DESCRIBE查询
- android 调试技巧
- rust如何进枪战服_rust手机版
- php极差平级,平行志愿有级差吗志愿极差是什么
- mybatis 添加语句返回对象_Mybatis底层源码分析
- 介绍一种策略分析师必备的解题技巧
- 游戏云平台怎么开发_百度“云手机”与咪咕快游共建国内最大云游戏平台
- 网游源码完整服务端_【每日源码】微人事是一个前后端分离的人力资源管理系统,项目采用SpringBoot+Vue开发。...
- oracle sql优化的几种方法
- Java之父詹姆斯•高斯林趣闻
- flutter学习笔记之Dart-8 问号、双问号、感叹号的理解
- SocketInputStream.socketRead0 导致线程hangs的解决方案