Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot DB更新问题-发布记录列表时,很少有记录没有得到更新-使用Spring JPA、Jersey Rest、Postgresql DB_Spring Boot_Spring Data Jpa_Postgresql 9.6 - Fatal编程技术网

Spring boot DB更新问题-发布记录列表时,很少有记录没有得到更新-使用Spring JPA、Jersey Rest、Postgresql DB

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

用例是:我有2个spring boot微服务,其中包括jersey rest和spring jpa以及postgres DB。这里一个服务正在按顺序向另一个服务发布要更新的记录列表。在90-100条记录中,有1或2条记录的数据没有得到更新(这里有另一个api创建了该数据,问题发生在更新过程中)

即使对于未更新数据的记录,其子数据也得到了正确的持久化。只有一个表存在此问题。 更新的代码流:

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条记录。