ItemReader,用于CrudRepository返回的记录

时间:2018-11-02 11:21:23

标签: spring-data-jpa spring-batch

我有一个Spring Batch应用程序,其中读者从外部db读取数据,然后处理器将其转换为我的目标db的POJO,作家将转换后的POJO写入目标db

我正在使用以下CrudRepository

public interface MyCrudRepository extends CrudRepository<MyDbEntity, String> {

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

    List<MyDbEntity> findByPIdGreaterThan(String from);  
}

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

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

会使ItemReader保持静态吗?由于每个作业运行都会为findByPidBetween使用不同的方法参数。

如何为以上问题构造ItemReader?

1 个答案:

答案 0 :(得分:0)

  

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

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

  

每次作业运行都会为findByPidBetetween使用不同的方法参数

您可以将它们作为参数传递给作业,并在阅读器中使用它们。