Generate UUID in Scala
UUID generation in Scala using the built-in Java UUID class — zero extra dependencies.
Implementation Code
import java.util.UUID
object UUIDExample extends App {
// UUID v4 — random, CSPRNG-backed
val id: UUID = UUID.randomUUID()
println(id.toString)
// Generate multiple
val ids: Seq[String] = Seq.fill(5)(UUID.randomUUID().toString)
ids.foreach(println)
}
Explanation
Scala runs on the JVM and has full access to java.util.UUID with no additional dependencies.
UUID.randomUUID() generates a version 4 UUID using
SecureRandom internally — cryptographically secure by default.
Output Example
a3f2c1d4-8e7b-4a9f-b6c5-2d1e0f3a4b5c
Best Practice
Use UUID.randomUUID() directly — no wrapper needed.
For database primary keys, store as VARCHAR(36) or use the UUID binary type.
Performance
Excellent. JVM's SecureRandom is highly optimised and thread-safe. Suitable for high-throughput services.
Installation
No dependencies required — java.util.UUID is part of the JDK.
// No build.sbt entry needed
Security
Cryptographically secure. Backed by java.security.SecureRandom which uses OS-level entropy (e.g. /dev/urandom).