码迷,mamicode.com
首页 > 编程语言 > 详细

springboot项目中,@transactional 无效

时间:2018-04-12 18:05:10      阅读:700      评论:0      收藏:0      [点我收藏+]

标签:dia   配置文件   int   sql   seq   code   使用   article   事务   

 

问题:

springboot项目,依然是使用jpa、Hibernate来操作mysql,涉及到数据库的操作,就少不了事务。写了一个接口,用来测试@Transaction注解的作用,发现没有效果

 

分析:

在项目启动时候,看到Hibernate: create table hibernate_sequence (next_val bigint) engine=MyISAM,说明是MyISAM引擎,由此我们也就很容易想到MyISAM与InnoDB之间的区别

 

解决:

发现Hibernate默认创建的表是MyISAM引擎,MyISAM引擎不支持事务操作,所以@Transaction注解不会起作用;所以我们要做的就是,在配置文件中添加配置,将数据库引擎改为InnoDB

添加配置:

spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

 

参考链接:

https://blog.csdn.net/tianyaleixiaowu/article/details/79468277

 

springboot项目中,@transactional 无效

标签:dia   配置文件   int   sql   seq   code   使用   article   事务   

原文地址:https://www.cnblogs.com/quan-coder/p/8746296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!