Hibernate-ORM:03.Hibernate主键生成策略

时间:2023-03-09 15:39:27
Hibernate-ORM:03.Hibernate主键生成策略

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

此篇博客简单记录五种常用的主键生成策咯:

不同的主键生成策略,生成的sql语句,以及hibernate的操作都是不同的!

3.1:assigned

主键是由程序猿自己设置的!如果我们不设置,会出现异常!

3.2:identity

针对于mysql数据库的主键自增 (mysql数据库说了算,必须设置主键自增,否则出现异常)

3.3:sequence

针对于oracle数据库中的序列
    <generator class="sequence">
      <param name="sequence">序列名称</param>
   </generator>

3.4:increment

首先会产生一条sql select max(id)  from teacher
                     之后id+1  赋值给主键

3.5:uuid

能够保证在不同的数据库和不同的服务器下,主键的唯一性!