内容来自《Java Web 程序员面试笔试宝典》

【出现频率】★★★☆☆ 【学习难度】★★☆☆☆

答案:方法上加@Transactiona注解后,默认遇到运行期异常(RuntimeException)会回滚,即遇到不受检查(unchecked)的异常时回滚;而遇到需要捕获的异常(Exception)不会回滚。如果受检查的异常(非运行时抛出的异常,编译器会检查到的异常叫受检查异常)需要回滚,需要如下配置(如需指定多个异常,用数组表示):

image.png

如果让RuntimeException异常不回滚,需要如下配置(如需指定多个异常,用数组表示):

image.png