我试图理解容器管理的事务。下面提到的是代码。
@Transactional
public void saveFees(FeesVO vo) throws Exception {
logger.info(" --- Finding User with Id ---- " + vo.getUserId());
User user = userDao.getUserById(Long.parseLong(vo.getUserId()));
logger.info(" ---- User Found with Id --- " + user);
userDao.saveFees(CommonUtil.convertFees(vo, user));
throw new Exception(" business exception ");
}
交易被提交,我期待我的转换被回滚,因为我可以在保存方法后有业务异常?我的理解是对的吗?
答案 0 :(得分:2)
只有RuntimeException
导致Spring的事务回滚。已检查Exception
未触发回滚。您可以通过@Transactional(rollbackFor = Exception.class)
更改此内容。