【问题标题】:Auto Increment the Primary Key in Berkeley Database Java Edition伯克利数据库Java版主键自动递增
【发布时间】:2014-04-08 19:43:51
【问题描述】:

我想自动增加伯克利数据库中的主键。我使用@PrimaryKey(sequence="Id")。它工作得很好。但是当我输入另一个数据时,顺序出错了。作为一个例子,当我执行数据库时,主键是“1”,但下一次是“101”,下一次是“201”。这是我的代码。有什么要补充的吗?我+ 没有使用 SequenceConfig config = new SequenceConfig(); config.setAllowCreate(true);。我需要使用它吗。请帮帮我。

@PrimaryKey(sequence="ID")

长ID; 字符串名称;

 Login_Audit(String name) 
 {

         this.name = name;
     }

【问题讨论】:

    标签: berkeley-db-je


    【解决方案1】:

    该序列只有在两次返回相同的值时才会出错。没有要求序列的值应该是连续的,也不应该依赖它们。您没有获得连续数字的原因可能是 BDB JE 有效处理多线程的方式:打开一个序列的句柄将“预分配”一个由该句柄专门使用的值范围,以便它可以给出您无需每次都执行昂贵的数据库锁定操作即可获得新值。

    您可以不关心 ID 的实际值(这是首选选项),也可以使用 Database.openSequence() 手动打开序列并直接操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多