我应该在异常和runtimeException中的rollbackfor之间做什么选择?

时间:2018-05-02 00:23:16

标签: java spring spring-transactions

当我在Exception中使用事务时,我使用@Transactional(rollbackFor = Exception.class)。

但是,当我使用RuntimeException时,我使用@Transactional。

我应该在exceptionback和runtimeException中的rollbackfor之间选择什么?

离) 公共类BadRequestException扩展了Exception - >公共类BadRequestException扩展RuntimeException

1 个答案:

答案 0 :(得分:0)

Spring提供内置支持以回滚到RuntimeException,与EJB相同。但是,为Application Exception添加回滚支持(已检查Exception),您可以这样定义。

@Transactional(rollbackFor = BadRequestException.class)

Spring文档:"虽然声明式事务管理的Spring默认行为遵循EJB约定(回滚仅在未经检查的异常时自动回放),但定制此事件通常很有用。 。 source