怎样的应用用hilo策略生成主键?

解决方案 »

  1.   

    HIbernate主键详解------Hilo
    Hilo使用高低位算法生成主键,高低位算法使用一个高位值和一个低位值,然后把算法得到的两个值拼接起来作为数据库中的唯一主键。Hilo方式需要额外的数据库表和字段提供高位值来源。默认请况下使用的表是通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。hibernate_unique_key,默认字段叫作next_hi。 next_hi必须有一条记录否则会出现错误。
    特点:需要额外的数据库表的支持,能保证同一个数据库中主键的唯一性,但不能保证多个数据库之间主键的唯一性。Hilo主键生成方式由Hibernate维护,所以Hilo方式与底层数据库无关,但不应该手动修改hi/lo算法使用的表的值,否则会引起主键重复的异常。