如何解决数据库更新问题-发布记录列表时,很少更新记录-使用Spring JPA,Jersey Rest,Postgresql DB
用例是:我有2个spring boot微服务,带有jersey休息和带有postgres DB的spring jpa。在这里,一项服务是按顺序将要更新的记录列表发布到其他服务。在90-100条记录中,有1条或2条记录数据未得到更新(这里有另一个api创建了该数据,问题发生在更新期间)。
即使对于未更新数据的记录,其子数据也会得到正确持久化。只有一个表存在此问题。 更新的代码流:
hospRepository.saveFlush(hospital);
hospBranches.forEach(branch -> hospBranchRepo.saveAndFlush(branch));
hospPatients.forEach(patient -> hospPatientRepo.saveAndFlush(patient));
在这里,医院有患者列表和分支机构列表,它们是孩子,并且这些分支正在更新,只有父级没有更新。在这种情况下,没有启用缓存。
我看不到任何异常被抛出。使用tcpdump能够查看查询贯穿JDBC的所有过程。并使用返回的对象(如果我尝试打印能够看到的更新数据),但是在DB中仍然可以使用旧数据。
尝试保持2个请求之间的延迟,添加了同步块,并尝试对该特定实体使用纯jdbc更新,但问题仍然存在。
请有人提供您对此的见识。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。