hibernate主键生成策略

2014-11-24 09:09:54 · 作者: · 浏览: 1

Hibernate表示符属性:在hibernate的映射文件(*.hbm.xml)文件中元素定义了持久化类的标识符属性的名称。类型和数据库表中字段的映射

元素中的子元素则用来设置当前持久化类的标识符属性的生成策略

increment生成策略 (适用于数据库:oralce,mySql)

从数据库表中获取当前主键字段中的最大值。然后再最大值的基础上加1

identity生成策略 (适用于数据库:oralce,mySql,db2)

数据库中支持id自动增长

sequence生成策略(适用于数据库:oralce)

采用序列自动增长

序列名称

hilo生成策略

采用一种高/低位的高效算法产生标识属性值为long,short,int类型的

数据库中要建一张表

表中的字段。并给一个默认值

seqhilo生成策略

采用的还是高/低位算法产生标识属性值为long,short,int类型的与hilo不同的是他使用指定的sequence获取高低位值

序列名称

uuid生成策略

采用128位的uuid的算法生成一个字符串类型的主建值,可用于分布式的hibernate应用中。效率高

guid生成策略

借助sqlservler或mysql数据库中guid字符串产生标识符属性

native生成策略

让hibernate自己根据所使用的数据库支持能力从identity,sequence,hilo生成策略中选择一种标准

assigned生成策略

自主设定主键,在调用session的save()方法要先设置主键

foreign生成策略

使用属性映射复合主键

让持久化类的标识符属性映射数据库标准的复合主键