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. delphi创建和读取xml(xml简单操作举例)
  2. 6/29 原型编码阶段:(2) GridView的数据库操作
  3. MS SQLSERVER通用存储过程分页
  4. (传送门)linux命令总结dd命令详解
  5. 开源——需要分享共享的无私精神
  6. 我不建议你这样进军人工智能……
  7. python xlwt模块生成excel文件并写入数据 xlrd读取数据
  8. 看看这套WPF开源基础控件库:WPFDevelopers
  9. php describe,php – 在Zend框架中的许多DESCRIBE查询
  10. android 调试技巧
  11. rust如何进枪战服_rust手机版
  12. php极差平级,平行志愿有级差吗志愿极差是什么
  13. mybatis 添加语句返回对象_Mybatis底层源码分析
  14. 介绍一种策略分析师必备的解题技巧
  15. 游戏云平台怎么开发_百度“云手机”与咪咕快游共建国内最大云游戏平台
  16. 网游源码完整服务端_【每日源码】微人事是一个前后端分离的人力资源管理系统,项目采用SpringBoot+Vue开发。...
  17. oracle sql优化的几种方法
  18. Java之父詹姆斯•高斯林趣闻
  19. flutter学习笔记之Dart-8 问号、双问号、感叹号的理解
  20. SocketInputStream.socketRead0 导致线程hangs的解决方案

热门文章

  1. for_each用法
  2. 扫盲:SATA、mSATA 、PCIe和M.2——SSD硬盘的接口
  3. 个人数据同步用派盘就好啦!
  4. 练习动画最好的方式:封面过渡
  5. c语言 读取字节,c – 从字节获取位
  6. redis提权漏洞处理
  7. 实验设计第七讲 稳健性设计
  8. JavaScript22-32:事件
  9. 哈尔滨理工大学软件与微电子学院程序设计竞赛(同步赛) H
  10. 阿里高层大调整/ 推特突发大规模宕机/ 任天堂砍掉Switch Pro…今日更多新鲜事在此...