我正在使用Spring Boot和Spring Data JPA.
有以下课程:
import org.springframework.transaction.annotation.Transactional;
@Transactional(propagation = Propagation.required)
public class Foo{
public void bar(){}
}
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(){}
}
为什么?使用readOnly是真还是假是安全问题?
最佳答案
@H_403_25@方法级别的注释完全覆盖类型级别的注释.
类级别的@Transactional注释将应用于类中的每个方法.
但是,当使用@Transactional注释方法时,这将优先于在类级别定义的事务设置.