【发布时间】:2018-03-10 07:25:07
【问题描述】:
我有一个 API,如下所示
@Transaction
void method (){
try{
service1.insertOne();
service2.insertTwo();
}
catch(Exception ex) {
// log exception
}
}
在服务类中,我正在检查某些验证并抛出异常,它是RuntimeException 的子类。当我抛出这个异常时,javax.persistence.RollbackException: Transaction marked as rollbackOnly。虽然它阻止了第一个服务中的数据不被插入,但由于第二个服务验证失败,我不太确定这是否是处理这种情况的正确方法。
如果异常不是Exception 的子类,即使对 service2 的验证失败,也会插入 service1 中的数据,但我确实看到抛出了自定义异常。所以我不确定我哪里出错了。任何帮助表示赞赏。
【问题讨论】:
标签: spring-boot spring-data-jpa