具有多个实例的应用程序上的JPA PESSIMISTIC_WRITE

时间:2018-12-19 19:33:25

标签: hibernate jpa spring-data-jpa spring-data

我正在使用Spring Framework和Spring Data,在处理完成后,我需要锁定数据库表中的特定行,以便其他人无法访问数据并对其进行更改,直到过程完成为止。同时,我正在运行同一应用程序的多个实例。

使用PESSIMISTIC_WRITE将以这样一种方式锁定数据库中的特定行:当一个应用程序实例访问该行时,同一应用程序的其他实例将无法访问该行,从而可以尝试访问该行。数据库中的同一行?

question讨论了锁类型PESSIMISTIC_READPESSIMISTIC_WRITE之间的区别。需要明确的是,我不是要问它们之间的区别,我是要问PESSIMISTIC_WRITE的范围,以及从一个应用程序实例获取该锁将如何影响其他可能尝试读取和更新的应用程序实例?数据库表中的同一行。

1 个答案:

答案 0 :(得分:0)

我已经测试了该用例,答案是使用PESSIMISTIC_WRITE将以这种方式锁定数据库中的特定行,使得当一个应用程序实例访问该行时,其他人将无法访问该行。可能尝试同时从数据库访问同一行的同一应用程序的实例。