在控制器外部发生异常时,事务不会回滚

时间:2015-11-22 19:09:00

标签: hibernate jpa playframework transactions playframework-2.0

当我的代码抛出异常时,我在尝试回滚事务时遇到了一些麻烦。如果我在没有handlyng的情况下直接在我的控制器上抛出一个异常,那么事务就会很好地回滚,但是当我从另一个类抛出一个异常并处理这个异常时,我无法工作,如下面的代码所示。

这是我的控制器。

  @Dynamic("EDIT_MANUAL_COMPENSATION")
@Transactional
public static Result save() {
    try {
        JsonNode request = request().body().asJson();
        Long[] financialsId = JSONUtils.fromJson(request.get("financials"), Long[].class);
        ManualReceivementStatus action = JSONUtils.fromJson(request.get("action"), ManualReceivementStatus.class);
        FinancialLaunchClient.markManualFinancialsAs(financialsId, action);//SOME EXCEPTION GENERATED HERE
        return ok();
    } catch (Exception e) {
        return createErrorMessage(e);
    }
}

0 个答案:

没有答案