hibernate常用主键生成策略简略

  • Post author:
  • Post category:其他


1,     assigned 由外部程序生成,与hibernate和底层数据库无关。  可以跨数据库,人为生成主键,应尽量避免。

2,     increment 由hibernate从数据库取主键最大值加一(每个session只取一次),与底层数据库无关,可以跨数据库,但不能用于多进程开发,不适用集群。

3,     sequence 由数据库sequence机制生成主键,必须该数据库支持sequence:如mysql不支持则不行

4,    identity 由数据库生成,该主键必须设置为自增长,数据库需要支持identity机制 : 如oracle不支持

5,    native 由hibernate根据使用的数据库决定使用哪种主键策略,效率不高,可适用于多数据库开发

6,   uuid 使用uuid字符串作为主键,可跨数据库 唯一 效率高 推荐使用



版权声明:本文为u013508348原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。