在hibernate中主键的生成策略分为数字、字符串、外键
一:数字
<1>:increment
由Hibernate框架生成,会去查询数据库中的最大值,适应任何数据库
<2>:sequence
由数据库的序列(sequence)生成,只适应Oracle数据库
<generator class="sequence">
<span name="sequence" >数据库中的序列名<param/>
<generator/>
<3>:identity
Sqlserver的自动增长方式
<4>:native
由框架判断底层数据库的类型,并由数据库生成(如果底层是Oracle数据库,数据库中必须创建序列,并且序列的名字必须为Hibernate_sequence)
二:字符串
<1>:assigned
由程序中指定,手动设置,也就是手动设置的id值
<2>:uuid
由框架生成32位的字符串,作为表的主键,适应于所有的数据库
三:外键
foreign