【发布时间】:2025-12-12 16:40:01
【问题描述】:
我在我的实体类中提到了序列生成策略 IDENTITY,用于 AS400 系统中表的主键。
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = "SEQNO")
private Integer seqNo;
表的主键列在数据库中定义为 GENERATED ALWAYS AS IDENTITY。SEQNO BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY(START WITH 1, INCREMENT BY 1)
我对 IDENTITY 策略的理解是,它将主键生成责任留给表本身。
我面临的问题是,在某种环境中,在表中插入记录时,它给了我[SQL0803] Duplicate Key value specified.
现在我有几个问题:
- 我对@987654324@ 的理解是否正确?
- 在哪个场景表会产生 Duplicate key?
- 我发现表中缺少序列值,即在4之后,缺少直到20的序列,我不知道是否有人手动删除了它,但这可能与重复密钥生成有关吗?李>
【问题讨论】:
标签: java hibernate jpa spring-data-jpa ibm-midrange