В книге, которая объясняет некоторые лучшие практики при использовании Spring MVC , я прочитал что-то вроде этого:
поведение по умолчанию для @Transactional
равно rollback
, когда в методе возникает непроверенное исключение и commit
, когда в методе возникает проверенное исключение .
Затем в книге приведен пример того, как «принять» эту лучшую практику, но в этом примере есть проверенное исключение :
@Service
public class SecurityServiceImpl implements SecurityService {
...
@Override
public User findUserByUsername(String username) {
User user = securityDao.findUserByUsername();
if(user == null) throw new UserNotFoundException("error");
return user;
}
}
По этой причине, боюсь, я не совсем понимаю, о чем говорится в книге или что является проверочным исключением .
Можете ли вы помочь мне понять, как лучше всего разрешить Spring MVC обрабатывать commit
и rollback
в методе @Transactional?
Спасибо, ребята