【问题标题】:spring boot batch with MySQL DB always generating primary key as 0使用 MySQL DB 的 Spring Boot 批处理始终生成主键为 0
【发布时间】:2018-11-05 09:42:01
【问题描述】:

我正在使用带有 MySQL DB 的 Spring Boot 批处理(spring-boot-starter-parent 版本 2.0.2)。早些时候,我使用了具有相同 MySQL DB 的 Spring Boot Batch(版本 1.5.x),它运行良好。

现在我可以看到每次应用程序为所有元数据表生成主键为 0,例如: 并且它失败,因为 MYSQL 抛出错误“com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '0 ' 代表键 'PRIMARY'"

请帮助建议它不是自动增加主键。

如果我创建新的 MySQL 数据库,那么应用程序将无法创建表,无论我为 spring.jpa.hibernate.ddl-auto 选择了哪个option。 我的 application.properties 如下

而 pom.xml 为:

下图是我们的工作方式:从一个表中选择数据并插入到另一个表中 非常感谢

【问题讨论】:

  • 你能发布你的域的样子吗?
  • @abdul 抱歉,我不明白什么是域。我们有三个工作,其中一个工作是 messageUsage,它从一个表中选择数据并进行一些处理并填充另一个表。我添加了我们正在做的图片。

标签: java mysql spring-boot spring-data-jpa spring-batch


【解决方案1】:

通过使用旧版本的 spring boot,我能够解决这个问题。以下是 pom 中有效的条目:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.7.RELEASE</version>
</parent>

【讨论】:

  • 我也遇到了同样的问题,ID 生成为 0,不确定确切原因,但在 BATCH_JOB_SEQ 中添加初始条目为 1 解决了我的问题,从他们的代码说明从 2、3、4 生成,5....
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-28
  • 2022-12-05
  • 2018-10-14
  • 2018-10-22
  • 1970-01-01
  • 2018-08-23
相关资源
最近更新 更多