Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于Java@Transactional,无法更新数据库记录_Java_Spring_Spring Transactions - Fatal编程技术网

由于Java@Transactional,无法更新数据库记录

由于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

由于Function1是事务性的,因此在插入record1后,它被锁定。 因此,我无法从函数3更新记录1。 有什么解决办法吗

@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被标记为“需要”或“新”。因此无法更新记录。