Does Specifying @Transactional rollbackFor Also Include RuntimeException
exception, java, rollback, spring, transactions
Solution
No need to include `RuntimeException` in `rollbackFor` list. It will handle that even if you do not mention it.
I've tried it out for jdbcTemplate:-
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = MyException.class)
public void updateSalary(final int increment){
jdbcTemplate.update("update EMPLOYEE set emp_salary = emp_salary + ?", increment);
throw new RuntimeException("update exception");
}
Output:
After Insertion:
1 Deepak 35000
2 Yogesh 35000
3 Aditya 35000
update exception
After Update
1 Deepak 35000
2 Yogesh 35000
3 Aditya 35000
Problem
``` @Transactional(rollbackFor = MyCheckedException.class) public void foo() { throw new RuntimeException(); } ``` Will this transaction get rolled back, or do I need to include RuntimeException.class in the annotation as well?