如何在mysql中手动设置hibernate序列?
在进行一些数据模型重构之后,我正在进行一些数据迁移,我正在使用复合主键的几个表,并将它们组合成一个更大的表,并为其提供自己唯一的主键。此时,我编写了一些SQL来将旧表数据复制到新表中,并使用AUTO_INCREMENT分配主键。迁移完成后,我从PK字段中删除AUTO_INCREMENT。所以,现在这一切都很好,但问题是我需要hibernate序列才能知道下一个可用的PK是什么。我们通常对所有实体使用TABLE策略,并且我希望保持一致,并避免对将来的对象使用AUTO_INCREMENT和IDENTITY策略。我已经暂时将生成的“hibernate_sequences”表中的相应行设置为新创建的表的最大ID,但这只是对问题进行的绑定修复。此外,这会导致创建的下一个ID远大于最大ID。我确定这是因为我不理解HiLo id-assigning机制,这就是我在这里发帖的原因。有没有办法设置它,以便ID顺序?或者,生成HiLo值的代码在哪里,以便我可以计算确保顺序ID的内容?
没有找到相关结果
已邀请:
2 个回复
屡倒雷图
替秀宝