hibernate主键生成机制
increment:
hibernate会先读取主键的最大值,然后+1并插入
试用范围:
1 所有有数据库
2 只有单个hibernate进程访问的数据库,因为有并发问题
3 必须为int,ong,short类型
identity:
由底层数据库来负责生成标识符,它要求底层数据库把主键定义为自动增长字段类型
适用范围:
1 底层数据库必须支持自动增长字段类型
sequence:
利用底层数据库提供的序列来生成标识符
hibernate先从数据库的news_seq序列中获得一个唯一的标识号,再把它作为主键
适用范围:
1 底层数据库必须支持序列
native:
依据底层数据库自动生成标识符的支持能力,来选择适用identity,sequence或hilo标识符生成器
适用范围:
1 很适合跨数据库平台开发
assigned:
自己在程序中手动设置主键的值
适用范围:
1 所有
uuid.hex:
hibernate采用128的UUID算法来生成标识符,该算法能够在网络环境中生成唯一的字符串标识符
适用范围:
1 主键是字符串

浙公网安备 33010602011771号