java - 如何确保数据库事务只发生一次?

标签 java database transactions

如何确保特定的数据库事务仅发生一次。我正在从我的手机发出付款请求(多次),但后端应该只执行一个。请求执行后,其状态将标记为“已完成”。但如果有多个请求,在一个请求完成之前,另一个请求就会开始执行,因此在状态标记为“已完成”之前,会先完成两次付款。如何解决这个问题呢?我使用 Java 作为后端。 Synchronize() 如何帮助解决这个问题?

最佳答案

您可以尝试在代码周围添加锁。这样,在任何给定时间只有一个线程可以进入。 如果您发出一个请求,则另一个请求必须等待该请求完成。

关于java - 如何确保数据库事务只发生一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36767321/

相关文章:

java - 计算所有素数的子矩阵

sql - java.lang.ClassCastException : com. mchange.v2.c3p0.impl.NewProxyConnection 问题

java - 如何将 JUnit 测试从一个 Maven 项目导入到另一个项目中?

sql - 在更新级联时出现意外错误

sql - 兼容各种关系型数据库的boolean数据类型

wcf - 如何防止事务范围抛出我已经处理过的异常?

java - 如何解决 "Stored procedure ' MySP 1' may be run only in unchained transaction mode"错误?

python - 如何在 Django 测试中强制交易中的竞争条件?

java - google-oauth-java-client - 强制访问 token 默认生命周期

java - ExecutorService 以串行顺序执行runnable