【hibernate】 常见的主键生成策略
来源:互联网 发布:高通一键开启写号端口 编辑:程序博客网 时间:2024/06/03 19:34
Assigned
这个单词翻译过来有”指定,赋值”的意思,所以在主键策略中,使用这个主键生成器,我们需要自己去指定主键的值,而不是由hibernate自动生成。
Increment
主键按顺序依次递增,当hibernate往数据库中插入数据时,会找到当前主键的最大值,然后在主键的最大值加1,作为当前数据的主键.但是当有多个进程要往数据库中插入数据时,可能会产生相同的主键,所以在集群下,最好不要使用。
Identity
使用该生成机制,表示主键由数据库来维护.所以这个主键要设置为自增长类型。同时也数据库也要支持自增长类型。
Sequence
采用数据库提供的sequence机制生成主键,需要数据库支持sequence。如oralce、DB、SAP DB、PostgerSQL、McKoi中的sequence。MySQL这种不支持sequence的数据库则不行(可以使用identity)。
Hibernate生成主键时,查找sequence并赋给主键值,主键值由数据库生成,Hibernate不负责维护,使用时必须先创建一个sequence,如果不指定sequence名称,则使用Hibernate默认的sequence,名称为hibernate_sequence,前提要在数据库中创建该sequence。该策略只能在支持序列的数据库中使用
Hilo
通过hilo算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。使用高低位算法生成主键,高低位算法使用一个高位值和一个低位值,然后把算法得到的两个值拼接起来作为数据库中的唯一主键。
Native
native由hibernate根据使用的数据库自行判断采用identity、hilo、sequence其中一种作为主键生成方式,灵活性很强。如果能支持identity则使用identity,如果支持sequence则使用sequence。
Forgien
使用另一张表中的主键作为主键,大多在一对一关系中出现。
- 【hibernate】 常见的主键生成策略
- hibernate主键的生成策略
- Hibernate的主键生成策略
- hibernate的主键生成策略
- Hibernate的主键生成策略
- hibernate的主键生成策略
- hibernate的主键生成策略
- hibernate的主键生成策略
- Hibernate主键的生成策略
- Hibernate的主键生成策略
- hibernate的主键生成策略
- Hibernate的主键生成策略
- hibernate的主键生成策略
- Hibernate的主键生成策略
- Hibernate的主键生成策略
- Hibernate的主键生成策略
- Hibernate的主键生成策略
- Hibernate的主键生成策略
- 整数自动转换原则
- 设计模式——单例(Unity3D中的应用)
- 浅析ButterKnife的实现 (二) —— BindResource
- HDU 1338 Game Prediction(田忌赛马)
- ML 工程师需了解的 10 大算法
- 【hibernate】 常见的主键生成策略
- OC创建类
- android ListView 九大重要属性详细分析
- 解析Spring源码(2)---new XmlBeanFactory(new ClassPathResource("..."))
- 转载:中国这10家慕课网站,您需要知道!
- spring mvc 关于@valid
- 面试机器学习、大数据岗位时遇到的各种问题
- C++中Vector类的使用
- Android 别样的数据字典解析