关于spring事物管理的问题

最近做项目使用了spring来管理事务的。
由于之前没有使用过spring的事物,在使用中出现的问题不知道怎么去解决,由于项目紧,急得我那叫一个烦啊,浪费了不少时间。
故记录一下提醒自己,也给使用spring事物的朋友参考一下。
项目中的数据持久层使用的ibatis,我在写ibatis接口中的方法时,每个方法都抛出了异常,为的是我在调用它的时候如果捕获到异常那么就知道操作数据库失败.
所以我在Service层调用接口方法的时候,使用了try{}catch{}来捕获异常,同时我在Service方法中使用了@transactional来注释个事物,运行后,老是不能回滚,找了半天,网上查了下资料,发现是由于我捕获了异常,让spring的事物以为没有异常而没有回滚,后来我在catch{}里面加了个throw new RuntimeException(e.getMessage);这样就起作用了,后来想想也是,如果没有让它捕获到异常,事物又怎么会回滚呢。这也算是经验的积累吧。呵呵。。

猜你喜欢

转载自katouhei.iteye.com/blog/1053919