如何在sql中使用jdbcItemWriter自动增加id值?

@Bean
@StepScope
public JdbcBatchItemWriter<Object> jobItemWriter() {
    JdbcBatchItemWriter<Object> itemWriter = new JdbcBatchItemWriter<Object>();
    itemWriter.setDataSource(targetDataSource);
    itemWriter.setSql("INSERT INTO customer (id,name,product) VALUES("Statement.RETURN_GENERATED_KEYS,:name,:product");
    return itemWriter;
}

@Bean
public Step slaveStep() {       
    return stepBuilderFactory.get("slaveStep")
            .chunk(chunkSize)
            .reader(jobItemReader(null, null))
            .chunk(fethcSize)
            .writer(jobItemWriter())
            .throttleLimit(gridSize)
            .build();
}

你好,我正在尝试使用Spring Batch自动递增主键值。

使用JDBCItemReader jobItemReader()从源客户表中读取值。

来源客户表:名牌产品

目标客户Tableid -主键名产品。

OutputCaused by: java.sql.BatchUpdateException: ‘customer.PRIMARY’键的重复输入’1’ 。

如何在jdbcItemWriter中递增id的值?

解决方案:

而不是使用普通的 id 考虑使用 nextval('hibernate_sequence')

给TA打赏
共{{data.count}}人
人已打赏
未分类

Laravel网站多主页。用户可以更改[关闭]。

2022-9-8 19:04:41

未分类

Java regex验证一个由逗号分隔的数字重复序列组成的字符串,并用括号括起来。

2022-9-8 19:15:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索