hibernate主键生成策略

<1>assigned(指定的,赋值的)程序员自己控制的,数据类型不限,保存前必须赋值; <2>identity(身份,个性)sequence(序列,顺序)都由数据库控制 identity(重点掌握) 必须是有标识列一般用来连接SQLMySQL数字 无需赋值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,?)

<3>increment hilo uuid/uuid.hex hibernate框架控制increment 自增,数字 无需赋值hilo 数字,无需赋值,需要额外提供一个表,还需要在表中定义一个整数类型的字段,并插入一条记录,使用时需要指定3个参数,table:表示hilo算法需要引用的表名(默认表名为hibernate_unique_key),column:表示hilo算法需要引用的列名(默认列名为next_hi),max_lo:表示hilo算法需要的变化值(可以随便给,一般设置为1); uuid/uuid.hex (是由容器自动生成的一个32位的字符串,.hex代表的是十六进制),32位的字符串,无需赋值

<4>native (重点掌握)等于identity+sequence

<5>foreign(主要用在一对一关系的映射中)

<7> 自定义主键生成键,实现org.hibernate.id.IdentifierGenerator接口即可,并还可以实现org.hibernate.id.Configurable接口来读取一些配置信息,PersistentIdentifierGenerator.TABLE,

PersistentIdentifierGenerator.PK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

excellentchen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值