【问题标题】:ItemReader for records returned by CrudRepositoryCrudRepository 返回的记录的 ItemReader
【发布时间】:2018-11-02 11:21:23
【问题描述】:

我有一个 spring 批处理应用程序,其中读取器从外部数据库读取,处理器将其转换为目标数据库的 POJO,写入器将转换后的 POJO 写入目标数据库

我正在使用以下 CrudRepository

public interface MyCrudRepository extends CrudRepository<MyDbEntity, String> {

    List<MyDbEntity> findByPIdBetween(String from, String to);

    List<MyDbEntity> findByPIdGreaterThan(String from);  
}

我想知道,上面的 ItemReader 是什么样子的?

我应该在我的 ItemReader 的@PostConstruct 中调用myCrudRepository.findByPidBetween(String from, String to) 吗?

这会使 ItemReader 静态化吗?因为每个作业运行对于findByPidBetween 都有不同的方法参数。

对于上述问题,ItemReader 应该如何构建?

【问题讨论】:

    标签: spring-data-jpa spring-batch


    【解决方案1】:

    我想知道,上面的 ItemReader 是什么样子的?

    RepositoryItemReader 是您所需要的。您可以将它与您的存储库一起使用并指定用于读取项目的方法。你可以找到一个例子here

    每个作业运行都会有不同的 findByPidBetween 方法参数

    您可以将这些作为参数传递给您的工作并在您的阅读器中使用它们。

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 2018-06-01
      • 2019-01-15
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多