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

小白,请教各位大佬!Java:为何事务的实际执行结果与预期不符谢谢哈~

小白,请教各位大佬!Java:为何事务的实际执行结果与预期不符谢谢哈~

一只斗牛犬 2019-10-08 09:11:58
@Controller@EnableAutoConfigurationpublicclassSampleController{@AutowiredprivateWeiboRepositoryweiboRepository;@AutowiredprivateTwitterRepositorytwitterRepository;@RequestMapping("/postWeibo")@ResponseBodypublicvoidpostWeibo(){Weiboweibo=newWeibo("Weibo");weiboRepository.save(weibo);postTwitter();}@Transactional(propagation=Propagation.REQUIRED,rollbackFor=Exception.class)publicvoidpostTwitter(){Twittertwitter=newTwitter("Twitter");twitterRepository.save(twitter);thrownewRuntimeException();}publicstaticvoidmain(String[]args)throwsException{SpringApplication.run(SampleController.class,args);}}代码逻辑:添加一条微博的同时添加一条推特,postTwitter手动抛出异常模拟回滚预期结果:Twitter表由于抛出异常造成回滚什么都没有添加,但Weibo表正常添加实际结果:虽抛出异常但Twitter、Weibo表均正常添加请问我已经设置了@Transactional,事务级别为REQUIRED表明postTwitter会单独开启新的事务,为何实际执行结果与预期不符合呢?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 230 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信