当多个 JVM 访问同一个数据库时,如何在 java 中获得行级锁?

How to obtain a row level lock in java when multiple JVMs accessing same data base?

我在不同的 JVM 中有相同应用程序的三个实例 运行。我不希望数据库中的特定值同时被不同的应用程序修改。我如何在 java 中执行此限制?

这取决于您使用的技术栈。

  1. 您可能要考虑做乐观或悲观并发控制
  2. 如果您需要悲观并发控制,并且如果您直接使用JDBC,那么行锁的方式将是DBMS 特定的(某些DBMS 甚至可能不允许您这样做)。例如,在 Oracle 中,您可以通过 select * from table_name for update
  3. 如果您使用的是 JPA 或 Hibernate,它由 EntityManager.lock(entity)/Session.lock(entity)(类似的东西)包装
  4. 在某些情况下,您甚至不需要做任何特别的事情。

除非您提供更多问题的详细信息,否则很难给您具体的建议。