mybatis主键生成策略
- 作者: 达?矢抾哆拉?
- 来源: 51数据库
- 2020-09-24
1. hibernate的主键生成策略:generator元素:表示了一个主键生成器,每个主键都必须定义相应的主键生成策略。它用来为持久化类实例生成唯一的标识 。
1.1 程序员自己控制:assigned
1.2 数据库控制: identity sequence
1.3 hibernate控制:increment hilo uuid/uuid.hex
1.4 其它:native
1.5 自定义主键生成器
主键生成策略
1. assigned
数据类型不限、保存前必须赋值
2. identity(重点掌握) 必须是有标识列 一般用来连接SQL和MySQL
数字,无需赋值
3. sequence(重点掌握) 这是序列 一般连接Oracle
数字,无需赋值, 默认使hibernate_sequence这个序列,也可以通过sequence参数赋值
insert into t_student(sid,sname) values(hibernate_sequence.nextval,?)
insert into t_student(sid,sname) values(seq_abc.nextval,?)
4. increment
数字,无需赋值
5. hilo
数字,无需赋值,需要额外提供一个表,还需要在表中定义一个整数类型的字段,并插入一条记录。
使用时需要指定3个参数
table:表示hilo算法需要引用的表名(默认表名为hibernate_unique_key)
column:表示hilo算法需要引用的列名(默认列名为next_hi)
max_lo:表示hilo算法需要的变化值(可以随便给,一般设置为1)
6. uuid/uuid.hex (是由容器自动生成的一个32位的字符串,.hex代表的是十六进制)
32位的字符串,无需赋值,
7. native(重点掌握)
等于identity+sequence
8. foreign(主要用在一对一关系的映射中)-本节课暂不介绍
9. 自定义主键生成键
实现org.hibernate.id.IdentifierGenerator接口即可,并还可以实现org.hibernate.id.Configurable接口来读取一些配置信息
PersistentIdentifierGenerator.TABLE
PersistentIdentifierGenerator.PK
这个是我们老师给我们的txt文本
我们才学几天呢
1.1 程序员自己控制:assigned
1.2 数据库控制: identity sequence
1.3 hibernate控制:increment hilo uuid/uuid.hex
1.4 其它:native
1.5 自定义主键生成器
主键生成策略
1. assigned
数据类型不限、保存前必须赋值
2. identity(重点掌握) 必须是有标识列 一般用来连接SQL和MySQL
数字,无需赋值
3. sequence(重点掌握) 这是序列 一般连接Oracle
数字,无需赋值, 默认使hibernate_sequence这个序列,也可以通过sequence参数赋值
insert into t_student(sid,sname) values(hibernate_sequence.nextval,?)
insert into t_student(sid,sname) values(seq_abc.nextval,?)
4. increment
数字,无需赋值
5. hilo
数字,无需赋值,需要额外提供一个表,还需要在表中定义一个整数类型的字段,并插入一条记录。
使用时需要指定3个参数
table:表示hilo算法需要引用的表名(默认表名为hibernate_unique_key)
column:表示hilo算法需要引用的列名(默认列名为next_hi)
max_lo:表示hilo算法需要的变化值(可以随便给,一般设置为1)
6. uuid/uuid.hex (是由容器自动生成的一个32位的字符串,.hex代表的是十六进制)
32位的字符串,无需赋值,
7. native(重点掌握)
等于identity+sequence
8. foreign(主要用在一对一关系的映射中)-本节课暂不介绍
9. 自定义主键生成键
实现org.hibernate.id.IdentifierGenerator接口即可,并还可以实现org.hibernate.id.Configurable接口来读取一些配置信息
PersistentIdentifierGenerator.TABLE
PersistentIdentifierGenerator.PK
这个是我们老师给我们的txt文本
我们才学几天呢
推荐阅读