spring事务中插入的问题

I am 花生 I am 花生 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现遇到这样一个问题

在ServiceAMethodA(){中
调用ServiceBMethodB();
try{
调用ServiceCMethodC();
}catch(Exception e){
throw new RuntimeException();
}
}

其中ServiceBMethodB()中向数据库中插入一条正确记录
ServiceCMethodC()中向数据库中插入一条字段超长的错误记录

经过下断点得到ServiceCMethodC()的异常并没有在ServiceCMethodC()执行后抛出,
而是在ServiceAMethodA()执行结束后抛出,所以try,catch中捕获不到异常

我把事务去掉后,执行ServiceCMethodC()方法后就会即时抛出异常,并捕获

我想是不是ServiceAMethodA()ServiceBMethodB()ServiceCMethodC()在一个事务中,
ServiceCMethodC()的插入(merge)方法没有提交到数据库中所致

如果这样的话,我想做事务处理应该怎么去配置,我是在service层设置事务的
...全文
评论 2
收藏 已收藏
分享
返回顶部
I am 花生
Java EE 67,535 成员 225,843 内容