我想在伯克利数据库中自动增加主键。我使用@PrimaryKey(sequence =" Id")。它工作正常。但是当我输入另一个数据时,序列出错了。作为一个例子,当我执行database.put时,主键是" 1",但是下次它是" 101"下一次是" 201"。这是我的代码。有什么要补充的吗我+没有使用SequenceConfig config = new SequenceConfig(); config.setAllowCreate(真);.我需要使用它吗?请帮帮我。
@PrimaryKey(序列=" ID&#34)
长身份; 字符串名称;
Login_Audit(String name)
{
this.name = name;
}
答案 0 :(得分:0)
如果序列两次返回相同的值,则序列只会出错。没有要求序列的值应该是连续的,也不应该依赖它们。您没有获得连续数字的原因可能是BDB JE有效处理多线程的方式:打开序列的句柄将"预分配"该句柄专门使用的一系列值,因此它可以为您提供新值,而无需每次都执行昂贵的数据库锁定操作。
您可以不关心ID的实际值(这是首选选项),也可以使用Database.openSequence()
手动打开序列并直接操作。