hibernate中主键生成策略generator标签中的class属性里面有很多的值,但我们通常主要使用两个
第一个:native
- 根据使用的数据库帮选择使用不同的值
第二个:uuid
- 自动生成uuid值
- 如果主键自动增长,类型必须是int类型
- 如果uuid时候,类型varchar类型
identity:使用数据库的自动增长策略,不是所有数据库都支持,比如oracle就不支持。
sequence:在 DB2,PostgreSQL,Oracle,SAP DB,McKoi 中使用序列(sequence)在使用Oracle数据库时可以使用这一个。
hilo:使用高低位算法生成主键值。只需要一张额外表,所有的数据都支持。
native:根据底层数据库的能力选择 identity、sequence 或者 hilo中的一个。
assigned:手工指定主键值。
uuid:由Hibernate自动生成UUID并指定为主键值。