我正在使用Spring框架和Spring数据,在完成处理时,我需要将特定的行锁定在数据库表中,所以在进程完成之前,其他人都不能访问和更改数据。同时,我运行同一个应用程序的多个实例。
PESSIMISTIC_WRITE的使用是否会以这样的方式锁定数据库中的特定行:当一个应用程序实例访问该行时,同一应用程序的其他实例将无法访问它,这些实例可以同时从数据库访问同一行吗?
有一个question讨论了锁类型、PESSIMISTIC_READ和PESSIMISTIC_WRITE之间的区别。为了明确起见,我不是在问它们之间的区别,而是询问PESSIMISTIC_WRITE的作用域,以及从一个应用程序实例获取锁将如何影响其他应用程序实例,这些应用程序实例可以尝试读取和更新数据库表中的同一行。
发布于 2019-01-24 10:07:50
我已经测试过这个用例,答案是,PESSIMISTIC_WRITE的使用将以这样的方式锁定数据库中的特定行,即当一个应用程序实例访问该行时,同一应用程序的其他实例将无法访问它,这些实例可以同时从数据库访问同一行。
https://stackoverflow.com/questions/53858055
复制相似问题