是否有可能在投掷后完成交易并在Controller中启动新的交易?

时间:2012-06-17 20:28:39

标签: spring spring-mvc jta spring-transactions

我有一个标有Transactional注释的控制器。方法 join 可能会抛出异常,我在@ExceptionHandler批注的帮助下通过方法 handle 进行处理。

public String join(Model uiModel) {
  ... here exception occures
}

@ExceptionHandler(BalanceException.class)
public String handle() {
    return "someView";
} 

handle 方法返回视图的名称时,一切都很好。不幸的是,我需要重定向到另一个控制器,这需要事务。

是否可以完成此交易并启动新交易?

1 个答案:

答案 0 :(得分:0)

在我看来,你永远不应该在视图层中启动事务,而是使用服务层来处理事务逻辑。这意味着你应该在服务层的Spring bean上使用@Transactional注释。