博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Can't call commit when autocommit=true(转)
阅读量:6352 次
发布时间:2019-06-22

本文共 714 字,大约阅读时间需要 2 分钟。

 

java.sql.SQLException: Can't call commit when autocommit=true at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:934) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931) at com.mysql.jdbc.ConnectionImpl.commit(ConnectionImpl.java:1646)

今天遇到这个问题,使用hibernate的时候报上面的错!

  上网查了下原因,是因为hibernate中使用了,commit()或者rollback(),这两个都需要一个先决条件,就是mysql的自动提交功能要关闭。

  commit()的作用是:提交上一次提交或者回滚后的修改的内容并释放连接中的相关内容

  rollback()的作用是:回滚到上一次提交或者回滚时的内容。

  上面两个方法都只能在已禁用自动提交的模式中使用。

  因此,关闭mysql自动提交就可以了。

  在mysql客户端中:

mysql>select @@autocommit;

查看是否开启了自动提交,如果为1,表明开启了。如果是0,表明关闭。

可以采用下面的方式,进行关闭。

mysql>set autocommit=0;

http://www.cnblogs.com/xing901022/p/4183180.html

 

转载于:https://www.cnblogs.com/softidea/p/4210050.html

你可能感兴趣的文章
记大众点评之面试经历
查看>>
第三章:基本概念
查看>>
Jersey+mybatis实现web项目第一篇
查看>>
C++形参中const char * 与 char * 的区别
查看>>
espresso 2.0.4 Apple Xcode 4.4.1 coteditor 价格
查看>>
Object-C中emoji与json的问题
查看>>
一、Lambda表达式
查看>>
linux 命令
查看>>
大二下周总结四
查看>>
灾后重建
查看>>
Nothing 和 Is
查看>>
第一个sprint冲刺第三天
查看>>
使用几种常用排序方法对C#数组进行排序的代码
查看>>
JavaScript 数据类型
查看>>
Gym-101915J The Volcano Eruption 计算几何
查看>>
[K/3Cloud]ksql翻译札记
查看>>
C# SQLite编程总结
查看>>
HDUOJ 2636 Electrical Outlets
查看>>
jquery中的动画
查看>>
Android 取消线程的方法
查看>>