Hibernate中为了更好的维护数据, 提供很多种主键生成策略.
2.2 主键策略类型
increment :自动增长,适用类型:short,int,long类型主键.在多进程和集群下不要使用.用的不是数据库的自动增长, hibernate底层的增长策略,select max(id) from customer; 然后+1作为下一条记录的ID.
assigned:需要用户手动输入OID的.
identity:自动增长,用的是数据库的自动增长。适用类型:short,int,long类型主键.支持自动增长数据库如Mysql
sequence:序列,适用类型:short,int,long类型主键.支持序列的数据库如:Oracle.
native:本地策略,根据数据库的底层采用使用identity还是sequence.
uuid:随机的字符串,适用于字符串类型的主键.
总结: 如果主键类型是 int short long , 用native
如果主键类型是字符串, 用uuid