0

假设我有一个具有 2 种方法的服务 bean:

@Transactional(readonly=false)
public void doSomething() 

@Transactional(readonly=true)
public void doSomethingReadOnly()

和第 3 种方法的 2 种变体:

@Transactional(readonly=false)
public void doSomethingNice1(){
    doSomethingReadOnly();
}

@Transactional(readonly=false)
public void doSomethingNice2(){
    doSomething();
}

什么电话会更有效地执行?doSomethingNice1()? doSomethingNice2()?

谢谢

4

1 回答 1

0

换句话说,您想知道@Transactional当从同一个 bean 中调用使用此注解注解的方法时,注解是否有意义。

我相信这取决于您的方面是如何配置的。如果他们使用代理,从同一个 bean 中调用的方法将被直接调用,因此注解不会做任何事情。但是,如果您正在使用字节码修改(例如 AspectJ),将使用“最强”注释,因此调用只读事务方法将稍微更有效。

于 2013-05-20T20:41:17.983 回答