主键的分类
- 自然主键
指的是将表中的某一字段作为这个表的主键,比如身份证就可以作为自然主键
- 代理主键
指的是不使用自然主键,而单独的创建一个字段作为表的主键,这个字段本身和表没有必然联系,只是用来单独唯一区分每一行的数据的
Hibernate中主键的生成策略
- 开发中使用
uuid(常用):适用于字符串类型的主键,基本适用于所有的数据库
native:在identity和sequence自动切换,基本适用于所有数据库
- 介绍
increment:自动增长,用于整型数据
identity:自动增长,适用于有增长机制的数据库(MySQL)
sequence:自动增长,适用于序列化方式的数据库(Oracle)
assigned:hibernate放弃维护主键,采用自己手动维护
总结:一般常用的是uuid策略和native策略,配置是在pojo类的映射配置文件中进行配置