【5】Hibernate的主键生成策略
来源:互联网 发布:plc模拟仿真软件 编辑:程序博客网 时间:2024/05/29 10:52
1、表中主键分类:
(1)自然主键:建表的时候,使用对象中本身的属性作为表的主键。
(2)代理主键:没有使用对象中的自身的属性作为表中的主键,使用和对象不相关的属性作为主键。
注:在建表的时候,建议使用代理主键,自然主键有可能会参与到业务逻辑中,有可能出现重复或者有的时候需要修改,主键不能修改,因此自然主键就不能使用了。
2、主键生成策略
主键不应该由用户自己输入,而是由程序生成。
(1)increment:自动增长,使用的是Hibernate中提供的自动增长机制,适应于short,int,Long。Hibernate底层使用查询一下表中主键的最大值。select max(cust id ) from customer,然后将id+1作为当前的主键。
问题:在集群中不要使用
(2)identity:自动增长。使用的是数据库的自动增长机制。使用于有自动增长机制的机器。Oracle没有自动这增长功能。
(3)sequence:序列,使用的是序列的方式完成数据库的主键的生成)(Oracle和DB2可以使用)
(4)native:本地策略,根据数据库不同自动选择identity和sequence。
(5)uuid:适用于字符串类型的主键,产生一个随机的字符串。
(6)assigned:Hibernate不管理主键,用户手动设置主键的值
0 0
- 【5】Hibernate的主键生成策略
- hibernate主键的生成策略
- Hibernate的主键生成策略
- hibernate的主键生成策略
- Hibernate的主键生成策略
- hibernate的主键生成策略
- hibernate的主键生成策略
- hibernate的主键生成策略
- Hibernate主键的生成策略
- Hibernate的主键生成策略
- hibernate的主键生成策略
- Hibernate的主键生成策略
- hibernate的主键生成策略
- Hibernate的主键生成策略
- Hibernate的主键生成策略
- Hibernate的主键生成策略
- Hibernate的主键生成策略
- Hibernate的主键生成策略
- 用 Flask 来写个轻博客 (17) — MV(C)_应用蓝图来重构项目
- sql server 添加表与字段说明
- UVa 291 dfs
- Redis学习笔记(REmote DIctionary Server远程字典服务器)
- 1042-N!
- 【5】Hibernate的主键生成策略
- JavaScript实用的代码段
- 在Ubuntu下安装搜狗输入法
- 基于DataX3.0将MySQL中的数据同步到Oracle
- python学习手册(4)
- TCP网络编程中RST分节总结
- phpcms路由模式自定义访问路径
- 纯字符串assemble和parser比较,fastjson 比 json要至少慢5倍
- 毕业5年决定人的一生