iteye_14540 2008-10-30 14:42
浏览 301
已采纳

JDK中的UUID无法生成顺序的值

在系统中应用了UUID作为主键值。但是JDK中的UUID生成是random模式,结果就导致那记录在数据库里乱窜。

当然,在大多数情况下,我们并不是让ID有业务逻辑(顺序其实应该算是种逻辑)

参考了JDK文档:http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/UUID.html

引用


version 字段保存描述此 UUID 类型的值。有 4 种不同的基本 UUID 类型:基于时间的 UUID、DCE 安全 UUID、基于名称的 UUID 和随机生成的 UUID。 这些类型的 version 值分别为 1、2、3 和 4。





但在JDK的UUID中只实现了3和4.

是这个是JDK自身没有实现?还是说还有另外的实现类?



现在需要的是基于Version 1模式的。



然后我还另外找到两个库已经实现了TimeUUID:

http://jug.safehaus.org/Home

http://commons.apache.org/sandbox/index.html



不知道各位是否有过类似问题?是选safehaus的吗?
  • 写回答

2条回答 默认 最新

  • mysaga119 2008-10-30 14:42
    关注

    第一,利用主键排序是很不好的做法。

    第二,按时间生成的uuid就是有顺序的吗?这个我没有接触过,不好说。

    楼主可以创建一个专门的列,用来排序。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料