有人可以通过现实世界的例子解释注释中的隔离和传播参数@Transactional.基本上何时以及为什么我应该选择更改其默认值.
我想知道当你用方法注释方法时实际发生了@Transactional什么?当然,我知道Spring会将该方法包装在Transaction中.
但是,我有以下疑问:
注意:由于此机制基于代理,因此只会拦截通过代理进入的"外部"方法调用.这意味着'自调用',即目标对象中调用目标对象的其他方法的方法,即使被调用的方法被标记,也不会在运行时导致实际的事务
@Transactional!
资料来源:http://static.springsource.org/spring/docs/2.0.x/reference/transaction.html
为什么只有外部方法调用才会在Transaction下而不是自调用方法?
传播设置是必需的。
@Transactional(propagation = Propagation.REQUIRED)
Run Code Online (Sandbox Code Playgroud)
事务是读/写的。
这些在什么场景下使用?请给我举例说明
spring ×3
java ×2
isolation ×1
jpa ×1
propagation ×1
spring-aop ×1
spring-jdbc ×1
transactions ×1