Using UUID As Entity Primary Key In Jakarta EE 10
Originally published on 23 Mar 2023
Last updated on 23 Mar 2023

In prior versions of Jakarta EE, the use of UUID as entity ID or database primary key type was a vendor specific feature. So even though you could use it, you had to rely on vendor specific constructs to get the mapping right. With the release of Jakarta EE 10 however, the Jakarta Persistence specification now provides native support for using UUID as entity ID type.
The jakarta.persistence.GenerationType now has a UUID option that indicates to the persistence provider to generate and assign RFC 4122 UUID to the annotated field. The HelloEntity below shows how to use this new feature.
@Entity
public class HelloEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.UUID)
private UUID id;
private String greeting;
}
The strategy parameter of the @GeneratedValue annotation is passed the GenerationType.UUID type. With this, you now have a vendor neutral, portable way to entity IDs to the UUID type.
Read more of our Jakarta EE content:
Related Posts
Simplifying Jakarta EE Development with JBang and Payara Micro
Published on 14 Apr 2025
by Luqman Saeed
0 Comments
What is JBang?
JBang is a tool that lets you run Java code with zero build setup. It handles dependencies, compilation, and execution with a single command - making Java as easy to run as a script. With JBang, you can:
Payara Podcast - Java User Group Spotlight – Chicago JUG & Seattle JUG
Published on 10 Apr 2025
by Dominika Tasarz
0 Comments