非Hibernate代码如何使用Hibernate的UUIDHexGenerator

逝水fox 发布于 2012/10/24 15:20
阅读 2K+
收藏 1

手上有一个工程,是其他的公司开发的,使用的是Hibernate,数据库每个表的ID他都设定成了uuid生成器。

因为开发商的Hibernate写的相当糟糕,很多无意义的关联查询。现在想把这部分功能逐渐改成用Commons-DBUtils,但是遇到一个比较麻烦的问题就是Hibernate用的uuid生成器压根就不是标准的UUID生成算法,会基于他内部的一个Count计数器。在Hibernate和DBUtils共存期间使我无法直接用JDK或者Commons-Codec的UUID生成器来生成ID,因为有和现有数据有重复的风险。

不知道各位有没有遇到类似的情况,在Hibernate代码外怎么能调用当前环境中的Hibernate的UUID生成器。

加载中
0
红薯
红薯

劝你别干这种吃力不讨好的事,哈:)

可以用 Java 自带的 UUID 生成器啊

相信你自己
相信你自己
回复 @红薯 : 长度长一点把,然后再加上间隔随机的数据
逝水fox
逝水fox
回复 @Rayn-瑞恩 : 在Hibernate的UUID生成器基础上,对IP多做了一个变换,保证前面的8个字符不重复即可。看了下源码,比较好理解。多谢老大和Rayn
Ryan-瑞恩
Ryan-瑞恩
回复 @逝水fox : 说说你的方法,,,,,让我也学习学习。
逝水fox
逝水fox
回复 @Rayn-瑞恩 : 判断牵涉到100多个表比较费。傻了,osc有Hibernate的源码,看了,找到可以保证不重的方法了。
Ryan-瑞恩
Ryan-瑞恩
回复 @逝水fox : 就按老大说的那样,要不然你就搞UUID就要搞几天。
下一页
0
R-Lu
R-Lu
主键生成策略,学习一下.
返回顶部
顶部