【问题标题】:@SequenceGenerator and allocationSize force reset@SequenceGenerator 和 allocationSize 强制重置
【发布时间】:2013-10-09 02:27:50
【问题描述】:

我们正在使用@SequenceGenerator 映射我们的实体,并将allocationSize 设置为100。Hibernate 会适当地生成主键。

我们现在有一个后台作业,必须将一组新记录插入表中。此过程完成后,我们希望强制 Hibernate 重置其分配块并再次从序列中读取下一组 ID。

否则,hibernate 将生成下一组 ID(基于分配池中剩余的 ID),这些 ID 可能与进程输入的新记录重叠。

有没有办法清除分配池并强制休眠重新加载序列nextval?系统范围的设置也可以(即强制重新加载所有序列)

【问题讨论】:

    标签: hibernate sequence-generators


    【解决方案1】:

    关闭您的 EntityManagerFactory 并再次创建它应该会强制休眠重新加载其 ID 生成器:

    myEntityManagerFactory.close();
    myEntityManagerFactory = Persistence.createEntityManagerFactory(...);
    

    【讨论】:

      猜你喜欢
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 2011-02-20
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      相关资源
      最近更新 更多