ex3*_*x3v 5 java spring jpa spring-mvc
我正在使用Spring Boot和Spring Data JPA.
有以下课程:
import org.springframework.transaction.annotation.Transactional;
@Transactional(propagation = Propagation.REQUIRED)
public class Foo{
public void bar(){}
}
Run Code Online (Sandbox Code Playgroud)
会bar()和任何其他成员方法也是交易?
我还有第二个问题.在许多教程中,人们倾向于做这样的事情:
import org.springframework.transaction.annotation.Transactional;
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
public class Foo{
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public void bar(){}
}
Run Code Online (Sandbox Code Playgroud)
为什么?使用readOnly true和false安全问题?
Ank*_*hal 13
方法级别的注释完全覆盖类型级别的注释.
@Transactional类级别的注释将应用于类中的每个方法.
但是,当使用注释方法时@Transactional,这将优先于在类级别定义的事务设置.