2010-02-04 14 views

Respuesta

5

Ver este artículo: http://www.informit.com/articles/article.aspx?p=25862&seqNum=7 (vinculado a la página 7).

Contiene un algoritmo para lo que el autor se refiere como "COMB" GUID; Reproduzco su código (SQL) a continuación:

SET @aGuid = CAST(CAST(NEWID() AS BINARY(10)) 
+ CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER) 

trivial para convertir esto en Java, o el idioma que desee. El principio subyacente obvio es convertir la fecha en un componente del Guid. Todo el artículo es una buena lectura, ya que hace un buen análisis del desempeño de los diversos enfoques.

-3

Lo utilizo para generar UUID (universalmente identificadores únicos) para mis dtos que actúan como claves suplentes para colecciones transitorios. No sé si es lo mismo, pero puede indicarle la dirección correcta.

import java.util.UUID; 
... 
    private String uuid=null; 
... 
    protected String getUuid() { 
     synchronized (this) { 
      if (null ==uuid) { 
      uuid = UUID.randomUUID().toString(); 
      } 
      return uuid; 
     } 
     } 
+1

No, esto crea un GUID aleatorio estándar, necesito un GUID secuencial. – massimogentilini

3

Por UUID secuenciales, que están buscando un UUID versión 1. Java UUID Generator proyecto parece que funciona bastante bien y es bastante fácil de usar:

Generators.timeBasedGenerator().generate().toString() 
+1

El enlace parece estar roto. Algunos búsqueda en torno muestra que este podría ser el proyecto que se discute aquí: https://github.com/cowtowncoder/java-uuid-generator – vazor

+0

Gracias. Después de una primera mirada, parece que los uidos generados son secuenciales. Tal vez mi guerra contra la página se divide, no está perdido todavía .. – frankieta