这是有注解REQUIRED的方法:
@Transactional(propagation=Propagation.REQUIRES_NEW)
public void updateUserRequired(int sid) {
User user = new User();
User user1 = null;
user1=getUserInfo("1", null);
user.setID("1");
user.setNAME("w`````````````e");
user.setPASSWORD("32141221");
user1=getUserInfo("1", null);
System.out.println(user1.getID()+" "+user1.getNAME()+" "+user1.getPASSWORD());
updateUser(user);
user1=getUserInfo("1", null);
System.out.println(user1.getID()+" "+user1.getNAME()+" "+user1.getPASSWORD());
requiredService.updateTeaRequired_new();
// throw new RuntimeException();
}
这是有注解REQUIRES_NEW的方法:
@Transactional(propagation=Propagation.REQUIRES_NEW)
public void updateTeaRequired_new(){
// TODO Auto-generated method stub
userDao.updateTea(setTeacher());
throw new RuntimeException();
}
如果REQUIRED的方法抛出runtime异常,REQUIRES_NEW不抛出异常,则REQUIRES_NEW提交,REQUIRED回滚。
但是反过来的话却是整体都回滚,这是为什么
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
你好,我是AI助理
可以解答问题、推荐解决方案等
评论
全部评论 (0)