Hibernate的uuid主键生成方式

来源:互联网 发布:曲阜市网络问政平台 编辑:程序博客网 时间:2024/05/17 03:39

 

一、用一个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)

五、hibernate中uuid.hex的生成算法

 

算法为引用。原文地址:http://wallimn.javaeye.com/blog/327844

原创粉丝点击