本人新手,自学的Spring 不知道 怎么得到是否发生了回滚~~
public boolean addUser(User u) {
try {
User us=userDao.getUserById(12);
us.setLoginName("测试3333333");
us.setPassword("xxxfffffffff");
us.setUserName("测试数据333333333333333333333!");
userDao.updateUser(us);
userDao.addUser(u);
System.out.println("没发生什么");
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("发生了异常!! 进行设置");
return false;
}
return true;
}
我想让这个方法如果 回滚了就 返回false 表示层 就告诉用户 注册失败, 成功返回true
提示成功 ~~~但 貌似这样写不行啊~~~  
求高手指点~~~!!!

解决方案 »

  1.   

    回滚只有在异常发生的情况下才能进行的
    你可以主动抛出一个异常
    让spring回滚事务
      

  2.   

    ~~~我自己并不知道 此次操作是否能正常完成啊~~~我想如果正常完成就返回个true
    如果被 声明式事务 回滚了就返回false
    应该怎么实现
      

  3.   

    为什么非得返回false来判断呢?如果一个方法正常返回,spring就认为没有出错,它没有理由回滚的
    } catch (Exception e) {
    // TODO Auto-generated catch block
    System.out.println("发生了异常!! 进行设置");
    return false;
    }你catch后直接throw就行了,或者就不要catch
    这样你外层捕捉到exception,就知道失败了
      

  4.   

    哦 Spring处理了 回滚会把 Exception抛给上层?
    我只要在调用的时候 try{}catch{}下就行 是吗?