Hibernate的uuid主键生成方式

本文介绍了Hibernate中uuid.hex主键生成算法的实现细节,包括使用本地IP、JVM启动时间、毫秒计数和短整型计数来确保唯一性。通过将这些信息转化为十六进制字符串,生成的主键在JVM和网络环境中保持独特。
摘要由CSDN通过智能技术生成

 

一、用一个128-bit的UUID算法生成字符串类型的标识符。

二、在一个网络中唯一(生成算法使用了IP地址)。

三、UUID被编码为一个32位16进制数字的字符串。
数据库相应的主键字段应该是varchar或者char型,32位,如果少于32位,在增加记录的时候你也许会遇到“ORA-01401: 插入的值对于列过大”的错误。
四、不推荐写成uuid.hex 推荐直接写成uuid 
从hibernate3.0开始已经不再支持uuid.string,查看changelog可以发现: Changes in version 3.0 beta 1 (21.12.2004) * removed uuid.string and renamed uuid.hex to plain uuid,hibernate3.x的api中AbstractUUIDGenerator类只有UUIDHexGenerator子类了,使用时在hibernate的映射文件中,配置成<generator class="uuid"/>;(其实写成uuid.hex也是可以用的,但官方的reference文档中是uuid,所以不推荐写成uuid.hex)
<
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值