hibernate的主键生成策略(通过generator元素进行控制)
generator元素:表示了一个主键生成器,
每个主键都必须定义相应的主键生成策略。
它用来为持久化类实例生成唯一的标识 。表示了一个主键生成器,
每个主键都必须定义相应的主键生成策略。
它用来为持久化类实例生成唯一的标识 。
大致分为以下几种常用的
1 程序员自己控制:assigned
数据类型不限、保存前必须赋值
2 数据库控制:
数据类型不限、保存前必须赋值
2 数据库控制:
2.1 identity(标识列/自动增长)
数字,无需赋值
2.2 sequence
数字,无需赋值, 默认使hibernate_sequence这个序列,
也可以通过sequence参数赋值
*--前提要在数据库中创建该sequence。
3 hibernate控制:
数字,无需赋值
2.2 sequence
数字,无需赋值, 默认使hibernate_sequence这个序列,
也可以通过sequence参数赋值
*--前提要在数据库中创建该sequence。
3 hibernate控制:
3.1 increment
数字,无需赋值
3.2 uuid/uuid.hex (是由容器自动生成的一个32位的字符串,.hex代表的是十六进制)
3.2 uuid/uuid.hex (是由容器自动生成的一个32位的字符串,.hex代表的是十六进制)
32位的字符串,无需赋值
4 其它:native
4 其它:native
相当于于identity+sequence
(自动判断你是使用了哪种数据库【通过方言dialect】)