簡體   English   中英

JPA / Hibernate對Oracle序列的增量太多

[英]Too Many Increment on Oracle Sequences by JPA/Hibernate

我在我的Java項目上使用Hibernate,我有Oracle DB。 一個ID列,我確定了一個增量為1的序列。但這就是JPA / Hibernate從序列中獲取nextVal的方式:

1   1451
2   1450
3   1402
4   1401
5   1400
6   1352
7   1351
8   1350
9    426

你可以看到nextVal有時會得到1,但大多數是50或更多。 我甚至看到序列200的開始,即使我把起始值1.為什么會發生這種情況? 這是正常的嗎?

我可以以某種方式減少這個“50”增量嗎?

編輯:重復的hibernate oracle序列產生很大的差距

我找到了這個解決方案

  1. 我將序列緩存設為“無緩存”
  2. 我將“ allocationSize=1 ”放到@Id屬性的注釋@SequenceGenerator ,如下所述: https//stackoverflow.com/a/5346701/169534

問題解決了

如果序列的高速緩存大小為50,則如果數據庫在序列中的提取之間關閉,則可能會出現此問題。 數據庫關閉時,永遠不會使用剩余的緩存值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM