Драйверът на PostgreSQL JDBC е избрал за съжаление начин за представяне на нестандартни JDBC кодове. Те просто съпоставят всички тях с Types.OTHER. Накратко, трябва да активирате специално съпоставяне на тип Hibernate за обработка на UUID съпоставяния (към колони от специфичния за postgres тип данни uuid):
@Id
@Column(name = "customer_id")
@org.hibernate.annotations.Type(type="org.hibernate.type.PostgresUUIDType")
private UUID id;
или по-накратко:
@Id
@Column(name = "customer_id")
@org.hibernate.annotations.Type(type="pg-uuid")
private UUID id;
Друга (по-добра) опция е да регистрирате org.hibernate.type.PostgresUUIDType като съпоставяне на типа Hibernate по подразбиране за всички атрибути, изложени като java.util.UUID. Това е описано в документацията @ http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html/ch06.html#types-registry