我打算实现该批处理,以从各种数据库表中读取数据以填充下面的复杂域,然后在处理器中执行计算,然后通过写入器将数据加载到数据库中。
public class A{
private String id;
private String name;
private ArrayList list1;
private ArrayList list2;
......
}
现在,我被读者的设计所困扰。想法是查询数据库表以获取ID列表,然后根据每个ID查询其他字段,包括list1和list 2。似乎现有的阅读器无法满足此要求,我是否需要创建自定义阅读器才能实现此目标?我想我会采用块方法,但是不知道如何实现它。
代码示例倍受赞赏。
答案 0 :(得分:0)
您可以使用驾驶查询模式。读取器仅读取ID,然后处理器可以根据ID查询每个对象的详细信息。
这是一种常见的模式,您可以在文档的common batch patterns
部分中找到有关此模式的更多详细信息:https://docs.spring.io/spring-batch/4.0.x/reference/html/common-patterns.html#drivingQueryBasedItemReaders