我在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或更多。即使我把起始值设置为1,我还是看到了序列200的开始,为什么会发生这种情况?这是正常的吗?
我能以某种方式减少这个"50“增量吗?
发布于 2012-03-13 17:23:55
我找到了这个解决方案;
我将序列缓存设置为“no-
allocationSize=1“放在@Id属性的注释@SequenceGenerator中,如下所示:问题已解决
发布于 2012-02-01 22:57:25
如果您的序列的缓存大小为50,那么在您从序列获取数据的间隙关闭数据库时,您可能会看到这个问题。当数据库关闭时,剩余的缓存值将永远不会被使用。
https://stackoverflow.com/questions/9097825
复制相似问题