springboot:在删除一些db条目时,解析大量db条目的分页列表 技术:后端-SpringBootJava8,数据库-postgres,通过SpringDataJPA/Hibernate映射的实体 我的任务是查询具有大量(数百万)不同条目的表,并为每个条目验证(通过RESTHTTP调用)来自外部系统的特定案例。如果验证案例失败,则必须删除特定条目 必须对该表的所有条目执行此任务,因此我们不能按任何方式进行筛选。它还需要更复杂的验证业务逻辑,因此我们必须用Java来完成,而不仅仅是SQL脚本 由于有大量不同的条目,一个想法是使用 因此,java任务将在专用线程中执行,如下所示: 对于n个条目的每一页,执行每个条目的验证逻辑。如果该条目的验证失败,则应从数据库中删除该条目。可能的解决办法: 直接删除条目-打开点:假设我们从第1页总共10个条目中删除了2个条目,那么我们无法继续第2页,因为现在分页顺序已更改(最初第2页的2个条目现在将进入第1页)。我们可以再次处理第1页,以确保我们没有跳过任何条目,但现在一些条目将被处理两次(外部系统的负载增加,需要验证)。是否有办法修改/删除以分页方式检索的数据,使其不总是中断初始分页 以某种方式将其标记为将来删除,这样我们就不会修改初始分页结果-可能会将条目的唯一id添加到列表中,并在处理完所有页面后,最终删除该列表中提到的所有条目-开放点:该列表可能会变大,并可能导致内存问题 ?

springboot:在删除一些db条目时,解析大量db条目的分页列表 技术:后端-SpringBootJava8,数据库-postgres,通过SpringDataJPA/Hibernate映射的实体 我的任务是查询具有大量(数百万)不同条目的表,并为每个条目验证(通过RESTHTTP调用)来自外部系统的特定案例。如果验证案例失败,则必须删除特定条目 必须对该表的所有条目执行此任务,因此我们不能按任何方式进行筛选。它还需要更复杂的验证业务逻辑,因此我们必须用Java来完成,而不仅仅是SQL脚本 由于有大量不同的条目,一个想法是使用 因此,java任务将在专用线程中执行,如下所示: 对于n个条目的每一页,执行每个条目的验证逻辑。如果该条目的验证失败,则应从数据库中删除该条目。可能的解决办法: 直接删除条目-打开点:假设我们从第1页总共10个条目中删除了2个条目,那么我们无法继续第2页,因为现在分页顺序已更改(最初第2页的2个条目现在将进入第1页)。我们可以再次处理第1页,以确保我们没有跳过任何条目,但现在一些条目将被处理两次(外部系统的负载增加,需要验证)。是否有办法修改/删除以分页方式检索的数据,使其不总是中断初始分页 以某种方式将其标记为将来删除,这样我们就不会修改初始分页结果-可能会将条目的唯一id添加到列表中,并在处理完所有页面后,最终删除该列表中提到的所有条目-开放点:该列表可能会变大,并可能导致内存问题 ?,java,hibernate,spring-boot,jpa,design-patterns,Java,Hibernate,Spring Boot,Jpa,Design Patterns,考虑到大数据集和外部系统每次“验证检查”的成本,什么是最有效的解决方案

考虑到大数据集和外部系统每次“验证检查”的成本,什么是最有效的解决方案