我正在尝试在一种方法中使用@Transational
,但是我面临以下问题。
首先是这种情况:
1-我更新了他的密码
2-我将他的ID插入跟踪表(简单插入查询)
要测试我的交易,请在插入查询中提供一个现有的ID(主键)。
该事务有效,但由于知道两个函数是
在try-catch块中,通常它应该返回Transaction silently rolled back because it has been marked as rollback-only
。
当我在响应上使用断点时,它会显示Internal error
,但在邮递员中,我会得到internal error
。
这是我的代码:
Transaction silently rolled back because it has been marked as rollback-only
答案 0 :(得分:0)
这是正常现象,原因是您的insertUtilisateurTracking方法在执行时需要TX。但是,在updateUserPassword方法内部调用它时,有可用的TX,容器不会创建新的TX,而是使用现有的TX。因此,如果在insertUtilisateurTracking方法中发生任何异常,它将导致TX设置为rollBackOnly(即使您在调用方中捕获了异常并忽略了它)。