在使用@TableGenerator时,为什么需要添加allocationSize=1以确保id在jvm重启后不会从1、2、...跳到32,xxx、65,xxx等?
需要指定allocationSize的设计原因是什么?
以下代码片段将产生跳跃的id:
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
这是已修改的片段,可以生成正确排序的ID。
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "account_generator")
@TableGenerator(name = "account_generator", initialValue = 1, allocationSize = 1)
private Long id;