Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EclipseLink和H2策略=GenerationType.AUTO_Java_Jpa_Eclipselink - Fatal编程技术网

Java EclipseLink和H2策略=GenerationType.AUTO

Java EclipseLink和H2策略=GenerationType.AUTO,java,jpa,eclipselink,Java,Jpa,Eclipselink,我正在使用EclipseLink和H2,我已经将策略设置为 strategy = GenerationType.AUTO 因为标识策略不起作用(它试图插入空id,但失败) 现在我不知道AUTO类型使用了什么,但它似乎可以工作,但是给出的ID有点随机,而我希望它们从1开始,并在可能的情况下以1的步长递增 但是JPA似乎插入了1,51,52101151,这有点太随机了,我认为这是浪费数字。 即使这不是一种浪费(例如,因为JPA也使用了间隙之间缺少的数字),我也希望ID增加,而不是随机的 关于如何设

我正在使用EclipseLink和H2,我已经将策略设置为

strategy = GenerationType.AUTO
因为标识策略不起作用(它试图插入空id,但失败)

现在我不知道AUTO类型使用了什么,但它似乎可以工作,但是给出的ID有点随机,而我希望它们从1开始,并在可能的情况下以1的步长递增

但是JPA似乎插入了1,51,52101151,这有点太随机了,我认为这是浪费数字。 即使这不是一种浪费(例如,因为JPA也使用了间隙之间缺少的数字),我也希望ID增加,而不是随机的


关于如何设置它有什么建议吗?

JPA中的默认预分配大小是50,您可以将allocationSize设置为将此增量更改为1,尽管我不建议这样做,因为这会使您的性能更差

你仍然不应该有这样的洞。您是否为每个请求创建一个新的EntityManagerFactory?(不要这样做),或者您是否有多个并发请求?你在用JTA吗

标识不适用于H2,请确保您使用正确的标识类型创建了表。自动默认为表排序。一般来说,我不推荐IDENTITY,因为它不支持预分配