Spring boot DB更新问题-发布记录列表时,很少有记录没有得到更新-使用Spring JPA、Jersey Rest、Postgresql DB
用例是:我有2个spring boot微服务,其中包括jersey rest和spring jpa以及postgres DB。这里一个服务正在按顺序向另一个服务发布要更新的记录列表。在90-100条记录中,有1或2条记录的数据没有得到更新(这里有另一个api创建了该数据,问题发生在更新过程中) 即使对于未更新数据的记录,其子数据也得到了正确的持久化。只有一个表存在此问题。 更新的代码流:Spring boot DB更新问题-发布记录列表时,很少有记录没有得到更新-使用Spring JPA、Jersey Rest、Postgresql DB,spring-boot,spring-data-jpa,postgresql-9.6,Spring Boot,Spring Data Jpa,Postgresql 9.6,用例是:我有2个spring boot微服务,其中包括jersey rest和spring jpa以及postgres DB。这里一个服务正在按顺序向另一个服务发布要更新的记录列表。在90-100条记录中,有1或2条记录的数据没有得到更新(这里有另一个api创建了该数据,问题发生在更新过程中) 即使对于未更新数据的记录,其子数据也得到了正确的持久化。只有一个表存在此问题。 更新的代码流: hospRepository.saveFlush(hospital); hospBranches.forE
hospRepository.saveFlush(hospital);
hospBranches.forEach(branch -> hospBranchRepo.saveAndFlush(branch));
hospPatients.forEach(patient -> hospPatientRepo.saveAndFlush(patient));
在这里,医院有患者列表和分支机构列表,这些都是孩子,这些正在更新,只有家长没有更新。在这种情况下没有启用缓存
我无法看到任何异常被抛出。使用tcpdump可以看到整个JDBC中的查询。如果我试图打印更新的数据,我可以看到返回的对象,但在DB中旧数据仍然可用
尝试保持两个请求之间的延迟,添加了同步块,并尝试对该特定实体使用纯jdbc更新,但问题仍然存在
请有人提供您对此的见解。可以添加您看到的查询吗?也许你也直接检查了PGSQL日志:?嗨,Luca&Hauser,是的,我试过在日志中打印sql语句,我能看到sql,但是数据没有持久化。使用tcpdump查看jdbc通信量也可以看到这一点。奇怪的是,数据库中的数据仍然没有持久化。并非所有记录都是如此。90多条记录中只有1/2条记录。