Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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
Spring 锁在数据库中是如何工作的? @Query(“从消息m中选择m.masterOrderNo,其中m.masterOrderNo=:masterOrderNo”) @锁(锁模式类型。悲观写入) 公共列表锁主订单(@Param(“masterOrderNo”)字符串masterOrderNo);_Spring_Database_Oracle_Spring Boot - Fatal编程技术网

Spring 锁在数据库中是如何工作的? @Query(“从消息m中选择m.masterOrderNo,其中m.masterOrderNo=:masterOrderNo”) @锁(锁模式类型。悲观写入) 公共列表锁主订单(@Param(“masterOrderNo”)字符串masterOrderNo);

Spring 锁在数据库中是如何工作的? @Query(“从消息m中选择m.masterOrderNo,其中m.masterOrderNo=:masterOrderNo”) @锁(锁模式类型。悲观写入) 公共列表锁主订单(@Param(“masterOrderNo”)字符串masterOrderNo);,spring,database,oracle,spring-boot,Spring,Database,Oracle,Spring Boot,谁能给我解释一下这把锁的内部工作原理吗?根据我以上的理解,sql查询将从数据库中获取记录列表,并检查所有记录是否处于提交状态。如果任何记录未处于提交状态,则表示一个事务已在执行某些操作。因此,它将阻止所有其他事务。如果提交了所有记录,那么它将只允许一个事务,并将阻止其余的事务。我的解释正确吗 @Query("select m.masterOrderNo from IN_MESSAGE m where m.masterOrderNo=:masterOrderNo") @

谁能给我解释一下这把锁的内部工作原理吗?根据我以上的理解,sql查询将从数据库中获取记录列表,并检查所有记录是否处于提交状态。如果任何记录未处于提交状态,则表示一个事务已在执行某些操作。因此,它将阻止所有其他事务。如果提交了所有记录,那么它将只允许一个事务,并将阻止其余的事务。我的解释正确吗

@Query("select m.masterOrderNo from IN_MESSAGE m where m.masterOrderNo=:masterOrderNo")
    @Lock(LockModeType.PESSIMISTIC_WRITE)
    public List<String> lockMasterOrder(@Param("masterOrderNo") String masterOrderNo);