Java Hibernate实体id表生成器样式正在创建不一致的id值
我需要生成具有增量主键的实体。使用具有以下配置的表生成器Java Hibernate实体id表生成器样式正在创建不一致的id值,java,hibernate,jpa,spring-data-jpa,Java,Hibernate,Jpa,Spring Data Jpa,我需要生成具有增量主键的实体。使用具有以下配置的表生成器 @TableGenerator(name = "OTPSEQUENCE", table = "TB_OTP_SEQ_GEN", pkColumnName = "SEQUENCE_NAME", valueColumnName = "SEQUENCE_VALUE", pkColumnValue = "OTP_NO ", allocationSize = 2000, initialValue = 1) 单个实例: 需要高并发性,因此分配给20
@TableGenerator(name = "OTPSEQUENCE", table = "TB_OTP_SEQ_GEN", pkColumnName = "SEQUENCE_NAME", valueColumnName = "SEQUENCE_VALUE", pkColumnValue = "OTP_NO ", allocationSize = 2000, initialValue = 1)
单个实例:
需要高并发性,因此分配给2000。
使用单节点部署进行测试,结果与预期一致。每个记录的主键都增加了因子“1”。
保留的记录总数为150万条,ID的最大值为150.2万条,与预期一致
多个实例:
现在,我已经改变了部署环境,负载平衡器具有相同服务的多个实例。现在结果完全不同了。
对于相同的负载,ID的最大值达到数十亿。我无法想象这里发生了什么。任何洞察都会有帮助。两种情况下保存的记录数是否相同?您如何进行负载平衡?@Ankur,两种情况下的记录总数相同。@Kayaman,在两个实例之间平均分配负载。您的这项服务是由计划程序触发的吗?这是一个cron任务吗?