While working with Postgres UUID type and Java, if we assign the value of type UUID as a string then we will get the following exception.
org.postgresql.util.PSQLException: ERROR: column "aggregateid" is of type uuid but expression is of type character varying
Hint: You will need to rewrite or cast the expression.
To assigning value incorrect way is given below, if you are using PreparedStatement
.
If the value of UUID is a string type, then first you need to convert it to Java UUID, then set parameter value as an object in PreparedStatement
.
stmt.setObject(1, UUID.fromString(uuidStr));
In the case of hibernate define your entity as given below.
@Type(type = "pg-uuid")
@Column(name = "id", columnDefinition = "uuid")
private UUID id;