java – 在类vs方法之间定义@Transactional有什么区别? - 代码日志

java – 在类vs方法之间定义@Transactional有什么区别?

情况1

@Transactional
public class UserServiceImpl implements UserService {

    ...................
    public void method1(){
        try{
            method2();
        }catch(Exception e){

        }
    }
    public void method2(){

    }
}

案例2

public class UserServiceImpl implements UserService {

    ...................
    public void method1(){
        try{
            method2();
        }catch(Exception e){

        }
    }
    @Transactional
    public void method2(){

    }
}

在case1中,如果发生任何异常,则回滚正在工作,但是在情况2它不工作。如果我遵循case1,是否有任何性能问题?

@Transactionalon一个类适用于服务上的每个方法。这是一个捷径。通常,如果知道所有方法都将访问存储库层,则可以在服务类上设置@Transactional(readonly = true)。然后,您可以使用@Transactional在执行模型更改的方法上覆盖行为。性能问题1)与2)不知道。
http://stackoverflow.com/questions/23132822/what-is-the-difference-between-defining-transactional-on-class-vs-method

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – 在类vs方法之间定义@Transactional有什么区别?