hibernate主键生成策略详解<generator>

本文详细介绍了Hibernate框架中各种主键生成策略的特点和应用场景,包括increment、identity、sequence、hilo、native、uuid.hex、uuid.string及assigned等,并解释了它们如何与底层数据库交互以实现高效的数据存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<generator class="主键生成的策略"/>

increment 适用于代理主键,由 hibernate 自动以递增方式生成;

identity 使用月代理主键,由底层数据库生成标识符;

sequence 适用于代理主键 hibernate 根据底层数据库的序列生成标识符,这要求底层数据库支持序列

hilo 适用于代理主键,使用一个 高/低位算法来高效生成 long ,short 或者 int 类型的标识符

native 适用于代理主键,根据底层数据库对自动生成标识符的方式,自动选择 identity、sequence或hilo。

uuid.hex 适用于代理主键,hibernate采用128位的UUID 算法生成标识符。(标识符中包括IP地址,JVM启动时间(精确到秒)、系统时间和一个计数器值(在JVM中是唯一的))。

uuid.string 适用于代理主键,UUID 被编码成一个 16字符长的字符串

assigned 适用于自然主键。由Java 应用程序负责生成标识符

foregin 适用于代理主键,适用另外一个相关联的对象的标识符,和<ont-to-one>元素一起使用



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值