assigned 主键由外部程序员负责生产,无须hibernate参与
hilo 通过hilo算法实现的主键生成机制,需要额外的数据库表保存主键生产历史状态
seqhilo 与hilo类似,使用于支持sequence的数据库,如oracle
increment 主键按数值顺序递增。如果同一数据库由多个实例访问,此方式必须避免使用。
identity 采用数据库提供的主键生成机制
sequence 采用数据库提供的sequence机制生成主键
native 由hibernate根据底层数据库自行判断采用identity、hilo、sequence其中一种方式作为主键生成方式
uuid.hex 由hibernate基于128位唯一值产生算法生成十六位进制数值
uuid.string 与uuid.hex类似,只是生成的主键未进行编码
foreign 使用外部表的字段作为主键
hilo 通过hilo算法实现的主键生成机制,需要额外的数据库表保存主键生产历史状态
seqhilo 与hilo类似,使用于支持sequence的数据库,如oracle
increment 主键按数值顺序递增。如果同一数据库由多个实例访问,此方式必须避免使用。
identity 采用数据库提供的主键生成机制
sequence 采用数据库提供的sequence机制生成主键
native 由hibernate根据底层数据库自行判断采用identity、hilo、sequence其中一种方式作为主键生成方式
uuid.hex 由hibernate基于128位唯一值产生算法生成十六位进制数值
uuid.string 与uuid.hex类似,只是生成的主键未进行编码
foreign 使用外部表的字段作为主键