Hibernate提供的内置主键生成器

来源:互联网 发布:ovid数据库检索途径 编辑:程序博客网 时间:2024/06/06 02:49

1:increment:以Hibernate递增的的方式代理主键赋值。

Hibernate会先读取News表中的主键的最大值,而接下来向News表中插入数据时就在max(id)的基础上递增,增量为1(会发生并发的问题)

适用范围:

由于increment生成标识符的机制不依赖于底层的数据库,因此适用于所有的数据库系统。

适用于只有单个Hibernate应用的进程的场合。

OID必须为long int或short 定义为byte会抛异常。

2:identity标识符生成器:使用底层数据库递增的方式。

3:Sequence:利用底层数据库提供的序列来生成标识符。

Hibernate在持久化一个对象时,先从底层数据库的news_seq序列中获得一个唯一的标识符再把它作为主键。


4:hilo:有Hibernate按照一种高低算法生成标识符,他从数据库的特定表的字段中获取high值。

Hibernate在持久化一个News对象时,由hibernate负责生成主键值,hilo标识符生成器在生成标识符时,需要先读取并修改HI_TABLE表中的NEXT_VALUE的值

5:native:会根据具体情况来选择特定的标识符生成器来生成标识符。

0 0
原创粉丝点击