我想知道,如果数据库连接丢失,那么Spring JPA稍后是否会保存数据,然后与数据库的连接又能正常工作。
假设我们有一个方法为save(MyEtinty myEntity)
的myService
。
然后我每秒钟都调用这个方法。
myService.save(myEntity);
突然间,由于WiFi而失去的DB连接是可预订的。但10分钟后,它又起作用了。
JPA会缓冲数据,然后在重新发布连接后将其加载到数据库中吗?
不,没有实现这样的缓冲区。如果需要的话,你必须手动操作。
如果您使用的是Spring Data JPA存储库,CrudRepository#save
方法只检查对象是否已经存在于数据库中,然后调用EntityManager#save
或EntityManager#merge
。