【发布时间】:2020-12-18 18:25:39
【问题描述】:
需要了解lockData的三个流是否都在一个事务中。当流回到类 A1 时,我可以看到类 C1 对表员工添加的行锁吗?
当前流程是:A1 的实例调用B1 的实例,而后者又调用C1 的实例
class A1 {
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void lockData(){
B1 classBObj = ctx.getBean("B1");
boolean locked = classBObj.lockData();
//Check if lock on employee table is still there.
}
}
class B1 {
@Transactional(propagation = Propagation.REQUIRED)
public void lockData(){
C1 classCObj = ctx.getBean("C1");
classCObj.lockData();
return true;
}
}
class C1 {
public void lockData(){
executeQuery("select * from employee where emp_id=1 for update");
return true;
}
}
【问题讨论】:
标签: java spring jdbc spring-transactions