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

问题描述

在系统中应用了UUID作为主键值。但是JDK中的UUID生成是random模式,结果就导致那记录在数据库里乱窜。当然,在大多数情况下,我们并不是让ID有业务逻辑(顺序其实应该算是种逻辑)参考了JDK文档:http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/UUID.html引用

解决方案

第一,利用主键排序是很不好的做法。第二,按时间生成的uuid就是有顺序的吗?这个我没有接触过,不好说。楼主可以创建一个专门的列,用来排序。
解决方案二:
uuid本来就是无序的,何必要让他有顺序呢?那不就失去uuid的意义了么而且uuid最主要的作用是保证网络内的唯一性换句话说,如果不用集群没必要用uuid如果想要顺序直接用数据库提供的累计主键策略不就可以了么

时间: 2024-12-27 18:46:22

JDK中的UUID无法生成顺序的值的相关文章

Hibernate中UUID的生成算法

不知大家在写数据库程序的时候使用什么做主键,使用无意义的东东做主键是个很好的做法,很多人用SEQUENCE,可我觉得Hibernate中的UUID是个不错的选择,我把他剥出来,喜欢的人可以拿去用. 算法如下: package com.xxh.hz.util;import java.io.Serializable;import java.net.InetAddress;/** * 唯一主键生成办法.从Hibernate中提取出来.我一直觉得这不错,不用建什么Sequence * @version 

SQLServer中SELECT语句的执行顺序

今天在写一条语句的时候,在查询分析器里边执行 要用10s,换用另外一种写法只用少于1s的时间,同事说是因为Sql句语执行顺序的原因.之前看过一点相 关的书,有一点印象,到网上找了资料,学习下. 逻辑查询处理步骤 复制代码 代码如下: (8)SELECT (9)DISTINCT (11)<TOP_specification> <select_list> (1)FROM <left_table> (3) <join_type> JOIN <right_ta

JPA中的主键生成策略

Table 策略 (Table strategy) 这种策略中,持久化引擎 (persistence engine) 使用关系型数据库中的一个表 (Table) 来生成主键.这种策略可移植性比较好,因为所有的关系型数据库都支持这种策略.不同的 J2EE 应用服务器使用 不同的持久化引擎. 下面用一个例子来说明这种表生成策略的使用: 清单 1.Table 生成策略 @Entity public class PrimaryKey_Table { @TableGenerator(name = "PK_

Java 9的JDK中值得期待的:不仅是模块化

[译者注]在本文中,作者介绍了即将在9.21发布的Java 9新特性,除了最重要的模块化以外,还涉及到编译,工具,协议,缓存等新特点,也提及了在此次版本中移除的功能,供Java爱好者阅读和参考. 以下为译文: 在多次延期后,Java 9将于9月21日以Java开发工具包9的形式出现,这是自2014年3月以来,Java标准版的第一次重大升级.官方列出了JDK 9的大约90个新特性,模块化是最主要的一个.将Java重新配置成模块化格式,这项任务已经持续了多年,但在编译.代码缓存和JavaScript

Java Web Start学习,与JDK中keytool常用命令

Java Web Start(以下简称JWS)是SUN提供的一种通过Web来部署和发布Java 程序的新技术,它既可以用来发布Application,也可以用来发布Applet,它获去年全球Java技术最佳创意奖.它仅在第一次运行时下载程序,以后的事情,就全全交给JWS,包括版本的自动更新和维护.这是我们曾经梦寐以求的事情,程序运行在客户端(本地运行,当然有足够的速度),但不用去安装配置客户端,也不用去考虑版本升级后对客户端的维护,这就是JWS提供给我们的好处之一.OK,下面我们就来看看如何玩转

Python用UUID库生成唯一ID的方法示例_python

UUID介绍 UUID是128位的全局唯一标识符,通常由32字节的字符串表示.它可以保证时间和空间的唯一性,也称为GUID,全称为:UUID -- Universally Unique IDentifier,Python 中叫 UUID. 它通过MAC地址.时间戳.命名空间.随机数.伪随机数来保证生成ID的唯一性. UUID主要有五个算法,也就是五种方法来实现. uuid1()--基于时间戳.由MAC地址.当前时间戳.随机数生成.可以保证全球范围内的唯一性,但MAC的使用同时带来安全性问题,局域

SQLServer中SELECT语句的执行顺序_MsSql

今天在写一条语句的时候,在查询分析器里边执行 要用10s,换用另外一种写法只用少于1s的时间,同事说是因为Sql句语执行顺序的原因.之前看过一点相 关的书,有一点印象,到网上找了资料,学习下. 逻辑查询处理步骤 复制代码 代码如下: (8)SELECT (9)DISTINCT (11)<TOP_specification> <select_list> (1)FROM <left_table> (3) <join_type> JOIN <right_ta

ASp.NET 2.0中Page事件的执行顺序实例代码(1/2)

一.初始化部分: 1.构造函数:创建page类的一个实例,初始化page类的属性. 2.addparsedsubobject函数: protected virture void addparsedsubobject(object obj) 提取asp教程x文件中的服务器控件,并把它们添加到page的controlcollection中.你可以通过page.controls获得加载的所有服务器控件 3.determinepostbackmode函数: protected internal virt

linux中udev控制磁盘引导顺序配置

vmware EXSi 虚拟化组的兄弟在对一台虚拟机主新增了N块磁盘后,重启后发现主机引导后分区的顺序发生了变化,导致各个挂载点下挂载的文件和之前不一致了.当时给出的解决方法是在/etc/fstab文件中使用uuid,因为UUID不会变化. 一.uuid 与挂载点 1.使用blkid命令获取UUID  代码如下 复制代码 [root@361way ~]# blkid /dev/sda1: SEC_TYPE="msdos" UUID="F159-EA55" TYPE=