由于Java@Transactional,无法更新数据库记录
由于Function1是事务性的,因此在插入record1后,它被锁定。 因此,我无法从函数3更新记录1。 有什么解决办法吗由于Java@Transactional,无法更新数据库记录,java,spring,spring-transactions,Java,Spring,Spring Transactions,由于Function1是事务性的,因此在插入record1后,它被锁定。 因此,我无法从函数3更新记录1。 有什么解决办法吗 @Transactional function1(){ function2(); function3(); } function2(){ //insert into table1 values(); --record1 } @Transactional function3(){ //update record1 inserted in
@Transactional
function1(){
function2();
function3();
}
function2(){
//insert into table1 values(); --record1
}
@Transactional
function3(){
//update record1 inserted in function2
}
它应该会起作用。默认情况下,传播设置为required,因此function3应位于同一事务中。所以没有锁。你的问题似乎遗漏了一些细节。函数1的调用方式可能不会启动新事务(如来自同一个类)?类本身是否标记为@Transactional?是否可以发布实际代码?@IntelliDatano@Sankozi这就像function1(){function4();}function4(){function3();}。功能4被标记为“需要”或“新”。因此无法更新记录。