zoukankan      html  css  js  c++  java
  • hibernarte主键生成机制

    1. 主键(id)生成策略
      1) assigned
         主键由外部程序负责生成,在 save() 之前指定。
      2) hilo
        通过hi/lo 算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源。
      3) seqhilo
        与hilo 类似,通过hi/lo 算法实现的主键生成机制,需要数据库中的 Sequence,适用于支持 Sequence 的数据库,如Oracle。
      4) increment
         主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。这种方式可能产生      的问题是:不能在集群下使用。
      5) identity
        采用数据库提供的主键生成机制。如DB2、SQL Server、MySQL 中的主键生成机制。
      6) sequence
        采用数据库提供的 sequence 机制生成主键。如 Oralce 中的Sequence。
      7) native
        由 Hibernate 根据使用的数据库自行判断采用 identity、hilo、sequence 其中一种作为主键生成方式。
      8) uuid.hex
        由 Hibernate 基于128 位 UUID 算法 生成16 进制数值(编码后以长度32 的字符串表示)作为主键。
      9) uuid.string
        与uuid.hex 类似,只是生成的主键未进行编码(长度16),不能应用在 PostgreSQL 数据中。
      10) foreign

        使用另外一个相关联的对象的标识符。通常和<one-to-one>联合起来使用。

      11)select

        通过数据库触发器选择一些唯一主键的行并返回主键值来分配一个主键。

      12)guid

        在MS SQL Server 和 MySQL 中使用数据库生成的GUID字符串。

  • 相关阅读:
    IDEA激活方式(亲测有效)加汉化方式
    IDEA快捷键
    (转)RBAC权限模型——项目实战
    Nginx负载均衡策略
    nginx proxy_pass
    Nginx rewrite
    web cache server方案比较:varnish、squid、nginx
    LVS负载均衡工作模式和调度算法
    四层 七层负载均衡区别
    Nginx每天自动日志分割
  • 原文地址:https://www.cnblogs.com/ScvQ/p/6927183.html
Copyright © 2011-2022 走看看