spring事务中插入的问题
现遇到这样一个问题
在ServiceAMethodA(){中
调用ServiceBMethodB();
try{
调用ServiceCMethodC();
}catch(Exception e){
throw new RuntimeException();
}
}
其中ServiceBMethodB()中向数据库中插入一条正确记录
ServiceCMethodC()中向数据库中插入一条字段超长的错误记录
经过下断点得到ServiceCMethodC()的异常并没有在ServiceCMethodC()执行后抛出,
而是在ServiceAMethodA()执行结束后抛出,所以try,catch中捕获不到异常
我把事务去掉后,执行ServiceCMethodC()方法后就会即时抛出异常,并捕获
我想是不是ServiceAMethodA()ServiceBMethodB()ServiceCMethodC()在一个事务中,
ServiceCMethodC()的插入(merge)方法没有提交到数据库中所致
如果这样的话,我想做事务处理应该怎么去配置,我是在service层设置事务的
在ServiceAMethodA(){中
调用ServiceBMethodB();
try{
调用ServiceCMethodC();
}catch(Exception e){
throw new RuntimeException();
}
}
其中ServiceBMethodB()中向数据库中插入一条正确记录
ServiceCMethodC()中向数据库中插入一条字段超长的错误记录
经过下断点得到ServiceCMethodC()的异常并没有在ServiceCMethodC()执行后抛出,
而是在ServiceAMethodA()执行结束后抛出,所以try,catch中捕获不到异常
我把事务去掉后,执行ServiceCMethodC()方法后就会即时抛出异常,并捕获
我想是不是ServiceAMethodA()ServiceBMethodB()ServiceCMethodC()在一个事务中,
ServiceCMethodC()的插入(merge)方法没有提交到数据库中所致
如果这样的话,我想做事务处理应该怎么去配置,我是在service层设置事务的
...全文
相关推荐
Spring事务隔离级别简介及实例解析
主要介绍了Spring事务隔离级别简介及实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
无处不在的Spring AOP事务及踩过的坑
无处不在的Spring AOP事务及踩过的坑.......................
Spring事务详解
Spring事务详解
spring.net oracle 事务控制
基于student表,实现对表的增、删、改、删,并且支持事务控制,事务控制是基于自定义的异常拦截
解决spring mvc 多数据源切换,不支持事务控制的问题
下面小编就为大家带来一篇解决spring mvc 多数据源切换,不支持事务控制的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧


