使用Code重置Hibernate(从0开始PK)

时间:2013-11-28 09:36:49

标签: java mysql hibernate primary-key

我有一张桌子,每天都会通过一些批处理来填充。

我删除所有记录并使用hibernate通过程序添加新记录。

但在这种情况下我的ID(自动增量PK)每次都是+1。

我知道删除查询只会删除行,不会影响表信息(如增量计数器)。

我也知道只有3种方法可以做到这一点。

  1. 将AUTO_INCREMENT设置为1的表更改。
  2. 截断表
  3. 再次删除并创建表格。
  4. 上述任何一项都不适用于我的情况,因为我不想手动执行任何操作。

    第一个需要触发一个DDL查询,我认为通过hibernate不可能。 第二个与上面相同+一旦我们重启tomcat - hibernate.cfg.xml将执行,上面的问题可以解决。所以这也是不可能的。 3与上述相同(第2点)。

    所以有人请建议以任何方式做到这一点?

1 个答案:

答案 0 :(得分:0)

  

第一个需要触发一个我认为不可能通过的DDL查询   冬眠。

为什么必须通过Hibernate完成?只需抓住您的数据源并执行您的DDL。假设Hibernate使用的数据源具有适当的权限。否则,定义第二个允许使用ALTER TABLE的数据源。