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