Spring batch spring批处理中的嵌套查询

Spring batch spring批处理中的嵌套查询,spring-batch,Spring Batch,我想使用Spring Batch创建一个ETL流程,步骤将从一个数据库中读取并插入一个数据库中,因此基本上我从不同的数据库中收集相似的信息并将其插入一个数据库中,我需要在这些数据库上运行一个大型复杂的查询,结果将插入所谓的一个数据库中以供后续处理,我的主要任务是,我想在JpaPagingItemReader中引用此查询。例如,是否有一种方法可以将此查询作为.sql文件添加到我的项目中,然后在读取器中引用它 或者我可以遵循的其他解决方案 多谢各位 例如,有没有一种方法可以将这个查询作为.sql文件

我想使用Spring Batch创建一个ETL流程,步骤将从一个数据库中读取并插入一个数据库中,因此基本上我从不同的数据库中收集相似的信息并将其插入一个数据库中,我需要在这些数据库上运行一个大型复杂的查询,结果将插入所谓的一个数据库中以供后续处理,我的主要任务是,我想在JpaPagingItemReader中引用此查询。例如,是否有一种方法可以将此查询作为.sql文件添加到我的项目中,然后在读取器中引用它

或者我可以遵循的其他解决方案

多谢各位

例如,有没有一种方法可以将这个查询作为.sql文件添加到我的项目中,然后在阅读器中引用它?或者我可以遵循的其他解决方案

您可以将查询放在属性文件中,然后插入读取器,例如:

@Configuration
@EnableBatchProcessing
@PropertySource("classpath:application.properties")
public class MyJob {

    @Bean
    public JpaPagingItemReader itemReader(@Value("${query}") String query) {
        return new JpaPagingItemReaderBuilder<>()
                .queryString(query)
                // set other reader properties
                .build();
    }

    // ...
}

在本例中,您应该在application.properties中有一个属性query=您的sql查询。这实际上是常规的Spring属性注入机制,这里没有特定的Spring批处理。

太棒了,我将尝试这种方法@Mahmoud Ben Hassine