如何通过 jpa 使用现有的 db2 序列



我想使用现有的 db2 序列,我尝试了

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_GENERATOR")
@SequenceGenerator(name = "SEQ_GENERATOR", sequenceName = "MY_SEQUENCE", allocationSize = 1)
private Integer id

但是通过使用这个, 正确保存数据但奇怪的是,在 db id 中正在存储。 例如 3 并将 2 返回给我。 对于每次运行,它都会生成如下的 id,

In dB | to me
3   |  2
5   |  4
7   |  6
9   |  8

最后,我通过删除序列触发器解决了这个问题,该触发器在每次插入之前执行,因为它会生成错误的 id。

休眠和数据库序列正在运行。

调用以获取输入的最后一个标识。

SELECT IDENTITY_VAL_LOCAL() INTO :RESULT FROM SYSIBM.SYSDUMMY1

如果序列关闭,例如还原后更改表以重置它。

最新更新