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:
- A Developer Guide To WebSocket Development On The Jakarta EE Platform
- A Business Guide to NoSQL on the Jakarta EE Platform
- A Business Guide To Cloud Deployment Options For Jakarta EE Applications
Related Posts
WebSphere Alternatives: 3 Best Options to Consider
Published on 05 Mar 2025
by Luqman Saeed
0 Comments
Join Payara at JavaLand 2025 for Java Ecosystem Insights
Published on 03 Mar 2025
by Nastasija Trajanova
0 Comments