在德比重新连接时,序列的当前值前进到下一个100

时间:2014-01-20 06:39:36

标签: spring derby

我遇到了嵌入式数据库的德比序列问题。当我第一次连接到数据库时,它使用以下语句为我提供了正确的序列下一个值。

VALUES (NEXT VALUE FOR :seqNm)

但是当重新启动我的桌面应用程序时,通过重新连接到数据库,下一个值会给我下一个百分之一的值。看起来德比使用一些缓存来预先分配序列号。

e.g。如果我的序列以100开头, 与数据库的第一次连接使我的序列为100,101,102等。

与数据库的第二次连接使我的序列为200,201,202,203等。

与数据库的第三次连接使我的序列为300,301,302,303等。

此问题是否有解决方法?我使用spring连接到数据库。

谢谢!

1 个答案:

答案 0 :(得分:2)

根据https://db.apache.org/derby/docs/10.9/ref/rrefproperpreallocator.html,是的,有一个序列预分配器:)

在配置中输入:

derby.language.sequence.preallocator=number

其中number是预分配数量的序列OR

derby.language.sequence.preallocator=className

如果你想要一些更高级的序列分配,className会导致一个实现 SequencePreallocator 的类......

希望它有所帮助!