I have a question about string uuid in database in binary form through hibernate persistence (JPA2). I'm using now this code:
private UUID id;
@Id
@Type(type="uuid-char")
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
@Column(length = 32, unique = true, nullable = false)
public final UUID getId() {
return id;
}
This work fine, but I must store it in binary form. Don't ask me why, but I must.
if you want a Human-Readable varchar(36) field in the database table, but also a Serializable UUID data type in your Java Class, you can use @Type(type = "uuid-char") at the same time you declare your field member with java.
Generating UUIDs using JPA 3.1 Since JPA 3.1, you can annotate a primary key attribute with @GeneratedValue and set the strategy to GenerationType. UUID. Based on the specification, your persistence provider shall generate a UUID value based on IETF RFC 4122. Let's try this mapping and persist a new Book entity object.
The type for binary UUID is uuid-binary
. You must have Hibernate 3.6 for this to work.
For many more details and pitfalls, see the answers to this question.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With