当我在Exception中使用事务时,我使用@Transactional(rollbackFor = Exception.class)。
但是,当我使用RuntimeException时,我使用@Transactional。
我应该在exceptionback和runtimeException中的rollbackfor之间选择什么?
离) 公共类BadRequestException扩展了Exception - >公共类BadRequestException扩展RuntimeException
答案 0 :(得分:0)
Spring提供内置支持以回滚到RuntimeException
,与EJB相同。但是,为Application Exception添加回滚支持(已检查Exception),您可以这样定义。
@Transactional(rollbackFor = BadRequestException.class)
Spring文档:"虽然声明式事务管理的Spring默认行为遵循EJB约定(回滚仅在未经检查的异常时自动回放),但定制此事件通常很有用。 。 source