java - 如何避免Spring Data Jpa并发情况?

标签 java spring concurrency duplicates spring-data

我的项目使用 Spring Data JPA(JpaRepository) 进行持久化操作。但是,当同时执行多个请求时,数据会在我只想添加唯一记录的表中重复。

发生这种情况是因为第一次,对于所有线程来说,该表中没有匹配的记录,因此它允许所有线程在该表中保存记录。

有什么建议我可以避免它。

我将锁定和隔离视为一些建议的方法,但我不确定如果我们使用 JpaRepository 接口(interface)方法,我们如何实现它们。

最佳答案

这不是 Spring Data 造成的。控制手段位于 JPA 和数据库区域。我建议您阅读 JPA 的乐观锁定以及数据库中的唯一索引。

关于java - 如何避免Spring Data Jpa并发情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34910298/

相关文章:

spring - 如何将旧的 Struts 应用程序与 Spring 3.x 集成

java - 无法加载 Tomcat 服务器配置服务器项目已关闭

java - 如何部署 Web 应用程序

java - 我的方法需要返回一个字符串,我做错了什么?

java - 当响应代码为 401 时,ClientHttpResponse.getBody() 抛出 ResourceAccessException

java - Spring Boot 自动重新配置在 spring-boot-data-starter-jdbc 上不起作用

java - java中的多个并行线程不会终止

java - AtomicReferenceFieldUpdater - 方法 set、get、compareAndSet 语义

python - 如何在不断检查输入线程的同时运行后台程序?

java - 从 bash 脚本中将 Spring Boot 作为前台进程启动