代码之家  ›  专栏  ›  技术社区  ›  liam xu

jpa@SequenceGenerator.allocationSize是什么意思?

  •  0
  • liam xu  · 技术社区  · 6 年前

    我搜索了很多,发现很多人说 allocationSize 意思是' After 'allocationSize' is reached, the next id will be retrieved from the database sequence again '在 https://www.logicbig.com/tutorials/java-ee-tutorial/jpa/seq-generator.html

    它的意思是jpa文件。

    The amount to increment by when allocating sequence numbers from the sequence
    

    它似乎与sql中的“增量”相同。

    哪一个是对的?因为我在h2/jpa中进行了测试,所以这个allocationSize不起作用,即使它设置为20,sequence的下一个值也不会增加20。

    我还对sql中的“缓存”感到困惑。

    总之,以下面的例子为例。

    CREATE SEQUENCE ITEM_ID_SEQ START WITH 1 INCREMENT BY 100 cache 30;
    

    有什么不同 , 缓存30 ,以及 .

    0 回复  |  直到 6 年前
        1
  •  4
  •   Simon Martinelli    6 年前

    以下是配置值的简要说明:

    分配大小

    可能给定分配中的某些ID将不被使用。因此,此策略不能保证序列值中没有间隙。

    增量

    指定序列号之间的间隔。

    此整数值可以是任何正整数或负整数,但不能是0。

    隐藏物

    指定数据库预分配并保留在内存中以加快访问速度的序列值。

    结论

    缓存是数据库性能优化,不适用于所有数据库类型。