Hibernate主键生成机制

     1、native: Hibernate会根据数据库类别,使用其原生的主键生成机制


     2、assigned:主键的生成方式完全由应用程序控制(生成和赋值)


     3、identity:使用数据库的自增(auto_increment)之间生成方式


     4、sequence:使用数据库Sequence方式,主要适用于Oracle


     5、increment:Hibernate会使用一张表来存储主建值,当有新的数据记录产生时,该表的主键值就会递增。该方式适用于单独的Hibernate应用系统。如果有多个Hibernate应用系统公用该表时,就很难保证不发生race condition,造成主键值错 

     6、Hilo:一旦指定Hilo,hibernate就会使用high/low算法来生成主键,Hibernate本身会维护一张默认名为hibernate_unique_keyd的表,用来生成主键方式因此适用于支持sequence的数据库(Oracle)

     7、seqhilo:生成主键的方式类似于Hilo,不过需要借助sequence方式,因此适用于支持sequence的数据库(Oracle)

扫描二维码关注公众号,回复: 1736041 查看本文章

     8、uuid.hex:该方式会根据网址、时间戳等条件,生成一个128位的主键。适用于跨数据库的应用

     9、guid:该方式会通过数据库产生全局性的标识符(仅仅适用于SQL Server和MySQL数据库)

猜你喜欢

转载自blog.csdn.net/calvex880714/article/details/41149967
今日推荐