Hibernate主键生成的策略

  • increment

    • increment策略是指,不使用数据库本地的自增长策略,而是由程序(Hibernate框架)产生一个自增长的ID值,赋予数据库.
    • 每次插入前都会去查询表中id最大的值,然后+1作为新主键
  • hilo(了解)

    • 高低位算法,主键自增,由hibernate来维护,开发时不使用.因为没有数据库同时不支持主键自增长或者则序列号
  • idenitty

    • identity策略,指定使用数据库里面的ID自增长策略. 只能用于支持ID自增长功能的数据库,如:MySQL,SQLServer.. 不支持没有ID自增长策略的数据库,如Oracle,DB2..
  • sequence

    • 使用序列的实现ID生成策略,主要用于有序列的数据库.如:Oracle,DB2,如果不支持序列的数据库(如:MYSQL),该策略会使用一个表模拟序列。
  • native

    • 使用数据库本地的策略,就是数据库里面使用怎么样的策略就用什么策略,HIbernate不做任何的判断.如:MySQL数据库使用了increment_auto,自增长策略.使用native.表示直接调用数据库里面的increment_auto策略.
  • uuid

    • 就是数据库的主键是使用一个唯一的==字符串==的来存储.这个唯一的字符串就是UUID
    • 主键必须为String类型
  • assigned

    • assigned策略,就是不使用主键生成策略,由手工输入ID

猜你喜欢

转载自blog.csdn.net/qq1424035130/article/details/82986345