I read lots of outdated info on this matter.
Using PostgreSQL v13+ there is a function called gen_random_uuid()
.
See the manual page of Postgres UUID.
Here’s an example entity called Page
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
package de.icod.blog.model; import javax.persistence.*; import java.util.UUID; @Entity @Table(name = "page") public class Page { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", nullable = false, columnDefinition = "UUID default gen_random_uuid()") private UUID id; public UUID getId() { return id; } public void setId(UUID id) { this.id = id; } } |
As you see you can append the columnDefinition to the @Column annotation. “UUID default gen_random_uuid()”
This translates to following SQL
1 2 3 4 5 6 |
create table page ( id uuid default gen_random_uuid() not null constraint "primary" primary key ); |
And you don’t have to worry about having an empty ID when inserting records.
Thanks Webentwicklung. It helped me.
thankyou you help me