我想使用 Spring Batch 从表中进行转储。我需要将数据从客户输入表转储到customer_data输出表。客户表有一个字符串 (jsonb) 类型的数据列。我需要从数据列中获取 json 并将其转换为扁平地图格式,然后将此数据转储到customer_data表中的字段(键)和值(值)列中。
有没有一个很好的解决方案如何使用 Spring Batch 做到这一点?我不确定这是否需要在 InputRowMapper 中实现,因为有许多记录要保存到新的customer_data表中。
输入(客户):
@Data
@Accessors(chain = true)
public class CustomerDataInput {
private Long id;
private String data;
}
其中数据:
{
"template":"test",
"description":"example"
}
输出(客户数据):
@Data
@Accessors(chain = true)
public class CustomerDataOutput {
private Long jobId;
private Long id;
private Long dataId;
private String field;
private Object value;
}
我期望这个:
job_id | ID | data_id | 场地 | 价值 |
---|---|---|---|---|
1 | 1 | 1 | 模板 | 测试 |
1 | 2 | 1 | 描述 | 例子 |