代码之家  ›  专栏  ›  技术社区  ›  Zout

为Hibernate的HiLo算法管理的列生成ID

  •  0
  • Zout  · 技术社区  · 7 年前

    情况:

    1 回复  |  直到 7 年前
        1
  •  0
  •   Zout    7 年前

    这就是我解决问题的基本方法:

    declare @newid int;
    set @newid = (select top 1 (@max_lo + 1) * next_hi) from hibernate_unique_key);
    update hibernate_unique_key set next_hi = next_hi + 1;
    insert into ExampleTable(Id, Column)
    values (@newid, @Value);
    select @newid;
    

    因为在我的例子中,max_lo只有1,所以每次以这种方式插入一行时,我只会“丢失”1个id