Ovladač PostgreSQL JDBC zvolil bohužel způsob, jak reprezentovat nestandardní typové kódy JDBC. Jednoduše je všechny namapují na Types.OTHER. Stručně řečeno, musíte povolit speciální mapování typu Hibernate pro zpracování mapování UUID (na sloupce datového typu uuid specifického pro postgres):
@Id
@Column(name = "customer_id")
@org.hibernate.annotations.Type(type="org.hibernate.type.PostgresUUIDType")
private UUID id;
nebo stručněji:
@Id
@Column(name = "customer_id")
@org.hibernate.annotations.Type(type="pg-uuid")
private UUID id;
Další (lepší) možností je zaregistrovat org.hibernate.type.PostgresUUIDType jako výchozí mapování typu Hibernate pro všechny atributy vystavené jako java.util.UUID. To je zahrnuto v dokumentaci @ http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html/ch06.html#types-registry