Hibernate 主键生成策略

来源:互联网 发布:linux c 语言编程 编辑:程序博客网 时间:2024/03/29 17:48
主键生成策略是指

1、 native
       对于 oracle 采用 Sequence 方式,对于MySQL 和 SQL Server 采用identity(自增主键生成机制),native就是将主键的生成工作交由数据库完成,hibernate不管(很常用)

2、Assigned
      在插入数据的时候主键由用户自己添加,hibernate也不管(很常用)

3、increment
      插入数据的时候hibernate会给主键添加一个自增的主键,但是一个hibernate实例就维护一个计数器,所以在多个实例运行的时候不能使用这个方法

4、sequence
      调用数据库的sequence来生成主键,要设定序列名,不然hibernate无法找到:
      NAME_SEQ(Oracle中很常用)

5、identity
      使用SQL Server 和 MySQL 的自增字段,这个方法不能放到 Oracle 中,Oracle 不支持自增字段,要设定sequence(MySQL 和 SQL Server 中很常用)

6、hilo
      使用hilo生成策略,要在数据库中建立一张额外的表,默认表名为hibernate_unique_key,默认字段为integer类型,名称是next_hi(比较少用)
      我们也可以自己设置自定义的表名和字段名

  
  
     
     
  

7、sehilo
      通过hilo算法实现,但是主键历史保存在Sequence中,适用于支持 Sequence 的数据库,如 Oracle(比较少用)

8、uuid.hex
       hibernate会算出一个128位的唯一值插入

9、uuid.string
       hibernate会算出一个16位的值插入

10、foreign
        使用外部表的字段作为主键

11、select
        使用触发器生成主键(主要用于早期的数据库主键生成机制,少用

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机缓存变小了怎么办 优学院课程过期怎么办 上公开课紧张怎么办 光纤被老鼠咬断怎么办 石灰粉进入眼睛怎么办 幼儿误吃粉笔怎么办? 吃了粉笔应该怎么办 小孩吃了颜料怎么办 小宝宝吃了纸怎么办 孩子不认真听讲怎么办 监控手机软件离线状态怎么办 云课堂忘记密码怎么办 广州办培训机构怎么办 一师一优课账号忘了怎么办 云相册空间不足怎么办 三星云空间不足怎么办 三星储存空间不足怎么办 宁阳县教育局强制补课怎么办 沉迷网络该怎么办英语 29岁沉迷游戏怎么办 学乐云登录不上怎么办 魔方学院无法识别怎么办 路由器卫士忘记密码怎么办 邮箱号忘记密码怎么办 水卡没钱了怎么办 旅行青蛙换手机怎么办 软件尚未受信任怎么办 百度搜不到的怎么办 百度中搜不到怎么办 山寨云网络异常怎么办 手机太重了怎么办 百度云网页版打不开怎么办 微鲸电视打不开怎么办 手机一直没信号怎么办 孩子作业效率低怎么办 员工做事效率低怎么办 吉他和弦转换慢怎么办 耳机低音轰头怎么办? 全民k歌太占内存怎么办 qq音乐登录失效怎么办 电视猫自动升级怎么办