慕前端9553269
2018-06-12 20:29:42
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 ,支持事務(wù)。其中數(shù)據(jù)庫表Girl的capSize字段長度為1 ,這樣第二筆插入會報錯,應(yīng)該回滾第一筆插入也取消。但是實際執(zhí)行結(jié)果是girlA仍然插入成功了。為什么會這樣?。壳蠼?
3 回答

添加回答
舉報
0/150
提交
取消