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相关推荐

  1. 使用Hibernate: GenerationTarget encountered exception accepting command : Error executing DDL “

    MySQL5版本不能使用ORDER来建表 原因可能是:使用了关键字或者保留字来建表,(我这里使用了ORDER)ORDER为MySQL的关键字 修改一下表名即可 以下为报错信息:(可以参考一下看看) H ...

  2. 小白学习Hibernate遇到的错误以及解决办法(GenerationTarget encountered exception accepting command : Error executing)

    由于项目需要,这几天在学习Hibernate,遇到了一个小错误,但是让我解决了一天多--. 遇到问题 废话不多说,先上错误 , 解决问题 翻遍google,百度,各种办法都试了,就是不行,最后对照一篇 ...

  3. 记一次GenerationTarget encountered exception accepting command : Error executing DDL的解决技巧

    将生成的SQL语句复制到图形化界面工具,我这里用的是Navicat Premium,然后美化SQL(格式化)一下,这样就是一个字段一行,方便后面排查错误. 字段名是黑色的即合法的,蓝色的则是保留字段. ...

  4. GenerationTarget encountered exception accepting command :Error executing DDL via JDBC Statement

    GenerationTarget encountered exception accepting command :Error executing DDL "create table ... ...

  5. 解决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   笔者在使 ...

  6. 登陆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 ...

  7. 总结xml配置spring-aop声明式事务配置与hibernate报错:** isno active spring和hibernate整合,原因会话工厂去路(到spring不仅仅是bean)错误

    spring事务管理太厉害了!!可以不再自管事务开发了! spring aop声明式事务配置 问题: 困扰我近十多天的的spring事务管理终于解决了, 再也不用自己管理事务了 嗯,可以删该死的hib ...

  8. conda install 换源_科学网—Anaconda 报错Multiple Errors Encountered和添加国内镜像以及换源和恢复默认源 - 张伟的博文...

    (一)情景一 在安装完成 Anaconda 后,创建虚拟环境接连遇到报错 Multiple Errors Encountered  和 Anaconda An HTTP error occurred ...

  9. JUnit报错:Java.lang.Exception: No runnable methods解决方案

    JUnit报错:Java.lang.Exception: No runnable methods解决方案 参考文章: (1)JUnit报错:Java.lang.Exception: No runnab ...

最新文章

  1. Ajax 中XmlHttp 乱码 的解决方法 (UTF8,GB2312 编码 解码)
  2. 《PHP精粹:编写高效PHP代码》——2.1节数据持久化和Web应用程序
  3. python单词意思-Python这个单词是什么含义??????????????
  4. 快速判断一个数是否是4的幂次方,若是,并判断出来是多少次方! .
  5. 微服务架构之「 下一代微服务 Service Mesh 」
  6. 如果您是JavaScript开发人员,为什么要进行增强现实-以及如何开始
  7. 水面反光如何拍摄_拍照反光太难看?这八个办法值得一试!
  8. 御剑飞行扫描后门加上burpsuite字典树爆破
  9. 区块链零知识证明:Zcash 基础知识普及帖,Zcash 技术分析
  10. 控制台命令调试(bt)
  11. 项目经理会议记录内容
  12. 1024,一封写给CSDN家园Python初学者的信 | Python初级、中级、高级学习路线
  13. 【计算机毕业设计】015健身房管理系统设计与实现
  14. 编写一个python程序判断用户输入的8位银行卡_用Python编写的程序,提示用户输入一个由7位数字组成的帐号?...
  15. 京东金融的贷款规模创新高
  16. 沃森和特朗普:一家伟大美国企业的兴与衰
  17. 【C语言】合并两个数组,降序排列并删除重复元素(通俗易懂)
  18. 【Unity】OnTriggerStay2D无法触发问题,物体跟随鼠标等背包系统以及UI场景交互系统技术总结
  19. nfc读卡java开发,分享一段飞天R502读卡器的JAVA读卡代码
  20. 高通骁龙MSM7540芯片技术资料简介

热门文章

  1. c++ for_each 的各种用法
  2. 街电西安设备消毒进社区,细致入微保障服务安全
  3. 海明威的老人与海 - 王晓波
  4. C语言整理之消息队列
  5. 详解幻读、脏读和不可重复读
  6. Implementing a simple OWS service
  7. maven Implementing class
  8. 3.3KW 车载充电机OBC方案 DSP28335控制,boost PFC两相交错并联
  9. Android 10深色主题适配踩坑记录
  10. 魔百和CM101S(魔百盒cm101s)刷机成功,奥利给!