1,increment
代理主键,由Hibernate自动以递增方式生成标识符,每次增量为1。
优点:不依赖于底层数据库系统,适用于所有的数据库系统。
缺点:只适用于单个Hibernate应用进程访问同一个数据库的场合,在集群环境下不推荐使用。
2,identity
代理主键,由底层数据库生成标识符。
前提条件:数据库支持自动增长字段类型。
数据库定义:MySql auto_increment
MS SQL Server identity
3,sequence
代理主键,Hibernate根据底层数据库的序列来生成标识符。
前提条件:数据库支持序列。<generetor class="sequence"></generetor>
4,hilo
代理主键,Hibernate根据high/low算法来生成标识符。
Hibernate把特定表的字段作为“high”值。在默认情况下选用hibernate_unique_key表的next_hi字段
5,native
代理主键,根据数据库自动识别类型,identity,sequence或hilo。
MySql和MS SQL Server :identity
oracle : sequence
优点:适用于跨数据库平台开发。
6,assigned
自然主键
代理主键,由Hibernate自动以递增方式生成标识符,每次增量为1。
优点:不依赖于底层数据库系统,适用于所有的数据库系统。
缺点:只适用于单个Hibernate应用进程访问同一个数据库的场合,在集群环境下不推荐使用。
2,identity
代理主键,由底层数据库生成标识符。
前提条件:数据库支持自动增长字段类型。
数据库定义:MySql auto_increment
MS SQL Server identity
3,sequence
代理主键,Hibernate根据底层数据库的序列来生成标识符。
前提条件:数据库支持序列。<generetor class="sequence"></generetor>
4,hilo
代理主键,Hibernate根据high/low算法来生成标识符。
Hibernate把特定表的字段作为“high”值。在默认情况下选用hibernate_unique_key表的next_hi字段
5,native
代理主键,根据数据库自动识别类型,identity,sequence或hilo。
MySql和MS SQL Server :identity
oracle : sequence
优点:适用于跨数据库平台开发。
6,assigned
自然主键