带有drop的JPA DDL-Generation重用旧索引

时间:2015-08-31 11:39:45

标签: java sql jpa eclipselink

我们正在使用JPA,出于测试原因,将drop-and-create-tables作为ddl-generation模式。但是,这会在重新启动应用程序时导致一些奇怪的行为:

  1. 我们运行一次应用程序并生成一些数据。例如。我们创建了70个entites,它们从1到70提升ID - >工作正常
  2. 我们重新启动应用程序,因此删除并重新创建表格 - >工作正常
  3. 当我们现在再次创建数据时,它变得奇怪:新实体的ID从31开始而不是1.但是,当它们达到49时,它们再次从1重新开始并最终抛出一个"唯一约束违规例外",已使用Id 31。
  4. 我检查过DB,确实存在" old" index(例如,命名为SQL15082120153900)。创建新实体时,会添加新索引。 SEQUENCE表保持价值" 50"我不想改变。

    任何想法,是什么导致这种奇怪的行为或我如何解决它?我想知道为什么索引不随表一起删除。或者至少是"索引计数器"或如何调用它被重置。很奇怪。

    PS:我们正在运行一个带有本地德比的tomcat,但它也会出现在嵌入式德比以及sybase ASE DB上。

0 个答案:

没有答案