s2sh中hibernate中identity和increment区别
2016-03-05 12:35
204 查看
问题?s2sh中hibernate中identity和increment区别
(1) identity:由底层数据库生成标识符。identity是由数据库自己生成的,但这个主键必须设置为自增长,前提条件是低层数据库支持自动增长字段类型
(2)increment:由hibernate管理主键,自动以递增的方式生成标识符,每次增量为1。其在每次插入前取得一个当前最大的id+1作为主键,该主键必须为Integer类型
(3)“assigned”
主键由外部程序负责生成,在 save() 之前指定一个。
(4) “hilo”
通过hi/lo 算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源
(5)“seqhilo”
与hilo 类似,通过hi/lo 算法实现的主键生成机制,需要数据库中的 Sequence,适用于支持 Sequence 的数据库,如Oracle。
(6) “increment”
主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。这种方式可能产生的问题是:不能在集群下使用。
(7) “identity”
采用数据库提供的主键生成机制。如DB2、SQL Server、MySQL 中的主键生成机制。
(8) “sequence”
采用数据库提供的 sequence 机制生成主键。如 Oralce 中的Sequence。
(9) “native”
由 Hibernate 根据使用的数据库自行判断采用 identity、hilo、sequence 其中一种作为主键生成方式。
(10) “uuid.hex”
由 Hibernate 基于128 位 UUID 算法 生成16 进制数值(编码后以长度32 的字符串表示)作为主键。
(11) “uuid.string”
与uuid.hex 类似,只是生成的主键未进行编码(长度16),不能应用在 PostgreSQL 数据库中。
(12) “foreign”
使用另外一个相关联的对象的标识符作为主键。
(1) identity:由底层数据库生成标识符。identity是由数据库自己生成的,但这个主键必须设置为自增长,前提条件是低层数据库支持自动增长字段类型
(2)increment:由hibernate管理主键,自动以递增的方式生成标识符,每次增量为1。其在每次插入前取得一个当前最大的id+1作为主键,该主键必须为Integer类型
(3)“assigned”
主键由外部程序负责生成,在 save() 之前指定一个。
(4) “hilo”
通过hi/lo 算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源
(5)“seqhilo”
与hilo 类似,通过hi/lo 算法实现的主键生成机制,需要数据库中的 Sequence,适用于支持 Sequence 的数据库,如Oracle。
(6) “increment”
主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。这种方式可能产生的问题是:不能在集群下使用。
(7) “identity”
采用数据库提供的主键生成机制。如DB2、SQL Server、MySQL 中的主键生成机制。
(8) “sequence”
采用数据库提供的 sequence 机制生成主键。如 Oralce 中的Sequence。
(9) “native”
由 Hibernate 根据使用的数据库自行判断采用 identity、hilo、sequence 其中一种作为主键生成方式。
(10) “uuid.hex”
由 Hibernate 基于128 位 UUID 算法 生成16 进制数值(编码后以长度32 的字符串表示)作为主键。
(11) “uuid.string”
与uuid.hex 类似,只是生成的主键未进行编码(长度16),不能应用在 PostgreSQL 数据库中。
(12) “foreign”
使用另外一个相关联的对象的标识符作为主键。
相关文章推荐
- Linux学习之路——网络基础知识点汇总
- android开发系列之gradle认识
- 我的第一篇博客以及HDU 1003 Max Sum
- eclipse运行web project经验
- 第二周笔记
- Unity3d AR 增强现实技术列表(2016年3月31日更新)
- LeetCode : Longest Palindromic Substring [java]
- Linux14.04 下安装Swift
- java类反射
- eatwhatApp开发实战(十四)
- uri和url
- Visual Studio 2015配置opencv开发环境
- PythonChallenge之level-0解题报告
- 任性动图V4.0 全新界面 致力于打造 优美、便捷的文字呈现
- spring
- 2015 浙江省赛 Beauty of Array (思维题)
- uva10400 - Game Show Math(回溯+剪枝)
- 2016年新学期算法课安排
- py延迟注入SQL脚本
- 【HDOJ】4579 Random Walk