Spring boot 中@Transactional注解,没有进行有效回滚代码如下package com.imooc;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.beans.Expression;
@Service
public class GirlService {
@Autowired
private GirlRepository girlRepository;
@Transactional
public void insertTwo(){
Girl girlA=new Girl();
girlA.setCapSize("A");
girlA.setAge(28);
girlRepository.save(girlA);
Girl girlB=new Girl();
girlB.setCapSize("BGG");
girlB.setAge(28);
girlRepository.save(girlB);
}
}检查过MySQL的引擎是InnoDB ,支持事务。其中数据库表Girl的capSize字段长度为1 ,这样第二笔插入会报错,应该回滚第一笔插入也取消。但是实际执行结果是girlA仍然插入成功了。为什么会这样啊?求解
3 回答
添加回答
举报
0/150
提交
取消