美文网首页
关于spring与hibernate整合,开启事务不起作用的原因

关于spring与hibernate整合,开启事务不起作用的原因

作者: 风火连城 | 来源:发表于2018-09-04 13:11 被阅读16次

一、前言

事务不回滚,原因可能有很多, 比如配置等等, 但是有一种问题是MySQL本身的问题, 这就比较恶心了。MyISAM是MySQL默认的存储引擎,在安装MySQL时如果没有指定存储引擎,那么MySQL会默认使用MyISAM,因为它不支持事务,所以效率会比InnoDB高一些。如果使用的是MyISAM,那么需要将其改为InnoDB。

二、修改方法

Windows系统:

1、打开“MySQL_HOME/my.ini”,把skip-innodb修改为#skip-innodb(注释掉)。

2、在[mysqld]下加上一句:default-storage-engine=INNODB

3、重启MySQL服务

4、原来已经存在的表,如果想使用事务,要修改它的存储引擎,在默认是InnoDB的情况下删除重建。当不想删除的时候,执行alter table 表名 ENGINE = InnoDB;

5、在使用了InnoDB引擎之后,再次运行代码,回滚成功!

Mac系统

参考链接: http://www.tuicool.com/articles/QBFZV3R

重点不是字符编码的问题, 而是下面这句话:

default-storage-engine=INNODB

相关文章

网友评论

      本文标题:关于spring与hibernate整合,开启事务不起作用的原因

      本文链接:https://www.haomeiwen.com/subject/buegwftx.html