首页 > 解决方案 > 如果数据库连接丢失,JPA 会在以后保存保存的数据吗?

问题描述

我想知道如果数据库连接丢失,Spring JPA 是否会稍后保存数据,然后与数据库的连接再次工作。

假设我们有一个myServicewith 方法save(MyEtinty myEntity)

然后我每秒调用一次这个方法。

myService.save(myEntity);

突然,由于 WiFi 而丢失的数据库连接变得不稳定。但 10 分钟后它再次起作用。

JPA 会缓冲数据,然后在重新建立连接后将其加载到数据库中吗?

标签: spring-bootjpaspring-data-jpa

解决方案


不,没有实现这样的缓冲区。如果需要,您必须手动执行此操作。

如果您使用 Spring Data JPA 存储库,则该CrudRepository#save方法仅检查对象是否已存在于数据库中,然后调用EntityManager#saveor EntityManager#merge


推荐阅读