【发布时间】:2015-02-23 04:53:29
【问题描述】:
我正在使用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(){}
}
为什么?使用readOnlytrue 和false 是否与安全有关?
【问题讨论】:
-
是的。文档中对此进行了非常清楚的解释:docs.spring.io/spring/docs/4.1.x/spring-framework-reference/…
-
这里有两个问题:第一个问题是当注解在类级别时,哪些方法是事务性的。第二个问题是关于在方法级别覆盖注释。我仍然看不到第一个问题的答案。想法?
标签: java spring spring-mvc jpa