UUID en Java: Genera identificadores únicos y seguros

Contenido del Bootcamp Dirigido por: | Última modificación: 19 de septiembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Cuando desarrollas una aplicación, debes enfrentarte al hecho de generar identificadores únicos para que cada objeto o entidad dentro de una base de datos o un sistema sea completamente distinto. Si has estado luchando para averiguar cómo hacerlo, en este post te explicaremos que es mediante el UUID en Java, si no te suena muy familiar, aquí te cuento más.

qué es un UUID en Java

¿Qué es un UUID?

Un UUID (Identificador Único Universal) es una cadena de letras y números que tiene 128 bits de longitud, y sirve para identificar de manera única elementos dentro de un sistema, especialmente en aquellos que están distribuidos entre varios servidores o entornos. Lo magnífico de un UUID es que te garantiza que no habrá duplicados entre los identificadores, sin importar dónde o cómo se generen.

Este es el formato de un UUID:

0181b9de-2a43-40cb-a2fc-ca58b62f4658

Si observas bien, te darás cuenta de que se compone de una secuencia de letras y números separados por guiones. Por eso, la probabilidad de generar dos UUID idénticos es casi nula. De ahí que sea una opción ideal para sistemas que necesitan seguridad y unicidad en sus identificadores.

¿Para qué sirve un UUID en Java?

Un UUID en Java te servirá cuando necesites un identificador único que no dependa de un número secuencial, como los que generan automáticamente las bases de datos. Por lo general, se usan IDs numéricos que van en aumento, aunque suelen haber situaciones en las que no es lo más adecuado.

Por ejemplo, si hablamos de un sistema de facturación, no quisieras que tu cliente adivinara el número de la próxima factura basándose en el número anterior. Ahí radica la importancia de los UUIDs en Java ya que generan identificadores que no siguen una secuencia obvia. De modo que, como son difíciles de predecir, le brindan una capa extra de seguridad a tu aplicación.

Cómo generar un UUID en Java

Con la clase UUID que viene en el paquete java.util puedes generar un UUID en Java fácilmente. Aquí te explico cómo:

import java.util.UUID;

public class Principal {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println(uuid);
}
}

El resultado será algo así:

0181b9de-2a43-40cb-a2fc-ca58b62f4658

Entonces, cada que ejecutes este código, verás que se genera un UUID distinto. Puedes usar este identificador para representar cualquier tipo de objeto o entidad que deba ser único dentro de un sistema.

Uso de UUID en entidades de bases de datos

Si estás trabajando con aplicaciones que usan bases de datos, te recomiendo usar un UUID en Java como clave primaria.

  • Por ejemplo: cambia el uso del identificador numérico que se incrementa de manera automática por un UUID para cada entidad.

Entonces, si tienes una clase Usuario en tu aplicación que almacena información de personas en una base de datos. En lugar de usar un ID secuencial, puedes usar un UUID como clave primaria:

import javax.persistence.Entity;
import javax.persistence.Id;
import java.util.UUID;

@Entity
public class Usuario {
@Id
private UUID id;

private String nombre;
private String apellido;

public Usuario(String nombre, String apellido) {
this.id = UUID.randomUUID();
this.nombre = nombre;
this.apellido = apellido;
}

// Getters y setters
}

Como ves, el UUID se genera automáticamente a medida que se va creando un nuevo Usuario. Así te aseguras de que cada usuario en la base de datos tenga un identificador único que no siga una secuencia predecible.

Cuándo usar UUID en lugar de identificadores secuenciales

Lo grandioso del UUID en Java es que te puede ser útil en muchas situaciones. Pero, si quieres saber exactamente en cuales, aquí te las explico:

  • Sistemas distribuidos: Si tienes una aplicación que corre en múltiples servidores o instancias, los UUIDs aseguran que cada entidad tendrá un identificador único sin necesidad de coordinar entre los distintos sistemas.
  • Seguridad: En aplicaciones donde no es deseable que los usuarios o clientes puedan inferir el tamaño de la base de datos o predecir los próximos identificadores, los UUIDs ofrecen una solución más segura.
  • Escalabilidad: Si tu aplicación requiere generar millones de identificadores, los UUIDs son ideales porque puedes generar tantos como necesites sin preocuparte por colisiones.

Puedes lograr que la seguridad de tus aplicaciones se incremente con el uso de UUID en Java. Recuerda usarlos en aquellos contextos donde les puedes sacar más provecho, como los que te expliqué anteriormente.

Si quieres aprender más sobre cómo implementar soluciones avanzadas como esta en Java, el Bootcamp Java Full Stack de KeepCoding es lo que necesitas. Te prepararemos para convertirte en un desarrollador altamente capacitado y demandado en el mercado, con habilidades que te abrirán puertas en el mundo tecnológico. Al finalizar el Bootcamp, tendrás los conocimientos necesarios para transformar tu vida y entrar en una industria que sigue en crecimiento, ofreciendo estabilidad laboral y salarios competitivos. ¡Es tu oportunidad para dar el salto hacia el éxito!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Java y Spring Boot

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado