spring-boot - 如果数据库连接丢失,JPA 会在以后保存保存的数据吗?
问题描述
我想知道如果数据库连接丢失,Spring JPA 是否会稍后保存数据,然后与数据库的连接再次工作。
假设我们有一个myService
with 方法save(MyEtinty myEntity)
。
然后我每秒调用一次这个方法。
myService.save(myEntity);
突然,由于 WiFi 而丢失的数据库连接变得不稳定。但 10 分钟后它再次起作用。
JPA 会缓冲数据,然后在重新建立连接后将其加载到数据库中吗?
解决方案
不,没有实现这样的缓冲区。如果需要,您必须手动执行此操作。
如果您使用 Spring Data JPA 存储库,则该CrudRepository#save
方法仅检查对象是否已存在于数据库中,然后调用EntityManager#save
or EntityManager#merge
。
推荐阅读
- hadoop - 无法连接到 CDH 5.11.2 中的 YARN webapp UI
- javascript - 如何在jquery替换中添加超链接
- java - 使用 JAVA Spring 同步休息服务
- capl - GPIB 的 CAPL 样品(类型 VISA / E3648A)?
- java - 为什么 maven-failsafe-plugin 不显示执行的宁静测试?
- mysql - 对--compatible的无效模式:mysql40
- android - 强制重新启动完整的应用程序以刷新 Cordova 中的包
- apache-kafka - 在 Kafka 0.10.2.x 中为代理设置 log.retentions.hours
- javascript - 如何限制 textarea 上的“撤消/重做”事件?
- perl - 动态增加 Text::TabularDisplay 中的列大小