@Transactional 常用属性
① readOnly 用于设置当前事务是否为只读事务,true–只读,false–可读写,默认值为false。例如:@Transactional(readOnly=true)
② rollbackFor 用于设置需要进行回滚的异常类数组,当抛出指定异常数组中的异常时,则进行事务回滚。例如:@Transactional(rollbackFor={Exception.class, RuntimeException.class,…})
③ rollbackForClassName 用于设置需要进行回滚的异常类名称数组,当抛出指定异常名称数组中的异常时,则进行事务回滚。例如:@Transactional(rollbackForClassName={“ClassA”,”ClassB”,…})
④ noRollbackFor 用于设置不需要进行回滚的异常类数组,当抛出指定异常数组中的异常时,不进行事务回滚。例如:@Transactional(noRollbackFor={ClassA.class, ClassB.class,…})
⑤ noRollbackForClassName 用于设置不需要进行回滚的异常类名称数组,当抛出指定异常名称数组中的异常时,不进行事务回滚。例如:@Transactional(noRollbackForClassName={“RuntimeException”,”Exception”,…})
⑥ propagation 用于设置事务的传播行为。
⑦ timeout 用于设置事务的超时秒数,默认值为-1表示永不超时
@Transactional 使用
①抛出运行异常回滚(当执行回滚无返回值)
try{
...
}catch(Exception e)