我想使用现有的 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
如果序列关闭,例如还原后更改表以重置它。