为了账号安全,请及时绑定邮箱和手机立即绑定

@Transactional 无法回滚

@Transactional()
public void insertTow(){
   Girl g1 =new Girl();
   g1.setCupSize("A");
   g1.setAge(10);
   girlRepository.save(g1);
   Girl g2 =new Girl();
   g2.setCupSize("2dd");
   g2.setAge(10);
   girlRepository.save(g2);



}

正在回答

8 回答

新增这个配置之后需要把你原来的表先删除的,因为原来的表创建的数据引擎不是InnoDB

0 回复 有任何疑惑可以回复我~

看看是否导入的类是正确的

import org.springframework.transaction.annotation.Transactional;


1 回复 有任何疑惑可以回复我~

看看是否导入的类是正确的

import org.springframework.transaction.annotation.Transactional;


1 回复 有任何疑惑可以回复我~

spring.jpa.hibernate.naming.physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy

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

加入配置后,事务还是不起任何作用

2 回复 有任何疑惑可以回复我~
#1

不会太久

把旧表删了,或者直接去修改旧表的引擎
2018-05-18 回复 有任何疑惑可以回复我~
#2

王笑天涯 回复 不会太久

按你说的将表单类型修改为:InnoDb就好了
2018-06-20 回复 有任何疑惑可以回复我~
com.mysql.jdbc.Driver
    jdbc:mysql://127.0.0.1:3306/test
    root
    123456
  create
      org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
    true
    org.hibernate.dialect.MySQL5InnoDBDialect

加上后还是不会回滚

1 回复 有任何疑惑可以回复我~

把配置文件application.yml改成这样:http://img1.sycdn.imooc.com//5ab0b18f0001f97008300265.jpg

还要把,ddl-auto: create

1 回复 有任何疑惑可以回复我~

MySQL的数据引擎InnoDB支持事务,而MYISAM不支持事务,所以如果生成的表是MYISAM它就不会滚,在配置文件中加入如下配置,让生成的表变成InnoDB的

spring.jpa.hibernate.naming.physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy

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

1 回复 有任何疑惑可以回复我~

@Transactional 把Transactional后面的括号去掉就行了

@Transactional
public void insertTow(){
   Girl g1 =new Girl();
   g1.setCupSize("A");
   g1.setAge(10);
   girlRepository.save(g1);
   Girl g2 =new Girl();
   g2.setCupSize("2dd");
   g2.setAge(10);
   girlRepository.save(g2);



}


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
2小时学会Spring Boot
  • 参与学习       151599    人
  • 解答问题       1079    个

Spring Boot入门视频教程,你将学会使用Spring Boot快速构建应用程序

进入课程

@Transactional 无法回滚

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信